I'm not sure how to normalize the values to get the output that I want. I created a method called normalize. The values come from my txt file. The output I want is -
Quizzes: 66%
Labs: 88%
Lab attendance: 81%
Midterms: 91%

        import java.io.*;
        import java.util.*;
        public class FindGrade {
        public static final int NUM_SCORE_TYPES = 5;   

        public static void main(String[] args) {
            Scanner scan = null;
            int[] quizArray = null;    
            int[] labArray = null;     
            int[] attendance = null; 
            int[] midterms = null; 
            int quizgrade =0;
            int labgrade=0;
            int attendance_1=0;
            int midterms_1 =0;
            String name;

        try {
            scan = new Scanner(new File("input.txt")); 
        } catch (FileNotFoundException e) {
            e.printStackTrace();
            return;
        }

        // each iteration is for single exam type (ie: Quizzes is the 1st one)
        for (int i = 0; i < NUM_SCORE_TYPES; i++) {

            name = scan.next(); 
            int numScores = scan.nextInt();
            int maxGrade = scan.nextInt();

            if (name.equals("Quizzes")) {
                quizArray = new int[numScores];
                readScores(quizArray, numScores, scan);


            }

            else if (name.equals("Labs")) {
                labArray = new int[numScores];
                readScores(labArray, numScores, scan);

            }
            else if (name.equals("Lab_attendance")) {
                attendance = new int[numScores];
                readScores(attendance, numScores, scan);

            }
            else if (name.equals("Midterms")) {
                midterms = new int[numScores];
                readScores(midterms, numScores, scan);

            }

        }

    }


    public static void readScores(int[] scoreArray, int numScores, Scanner scan) {
        for (int i = 0; i < numScores; i++) { 
            scoreArray[i] = scan.nextInt();
        }
          average(scoreArray,numScores);
    }
     public static void normalize(int [] scoreArray, int maxScore){
     int total=0;
     for(int i =0; i<scoreArray.length;i++){
     total+= scoreArray[i];
    }
    }

    public static void average(int[] scoreArray, int numScores){
        double sum=0;
        for(int i=0; i< scoreArray.length; i++){
            sum += scoreArray[i];
        }
        double average = sum/numScores;

        System.out.println(sum + " " + average);



    }


input file:

    Quizzes 8 10
    5 8 9 10 4 0 10 7
    Labs 6  100
    95  90  100  87  63  92
    Lab_attendance  16  1
    1  1  1  0  1  1  1  1  0  1  1  1  1  0  1  1
    Midterms  2  100
    87  94
    Final  0  100

so ... you don't know how to calculate the percentage?
in your normalize method, maxScore is 100%. use that to find the percentage.

This article has been dead for over six months. Start a new discussion instead.