/** * AITI Java Laboratory 3: * Gradebook: Loops and Arrays Arrays */ public class GradeBook { /** * Sums the contents of an array, print out its total, and its average. * Prints out a letter grade corresponding to the average. */ public static void main(String args[]) { /** 'grades' stores a student's grade values */ double[] grades = {82.4, 72.6, 90, 96.8, 86.1}; System.out.println("Part 1 and 2----------"); /* Print out the grades */ System.out.print("The scores are: "); double max = 0.0; double total = 0.0; for(int i = 0; i < grades.length; i++) { // You could store grades.length in a variable for convenience System.out.print(grades[i]+" "); /* Might as well find the average and max while we're looping. */ total += grades[i]; if (grades[i]>max) max = grades[i]; } System.out.println(); System.out.println("Part 3----------------"); /** 'average' is the total divided by the number of grades */ double average = total / grades.length; System.out.println("Average score: " + average + " Maximum score: " + max); System.out.println("Part 4----------------"); /** 'letterGrade' is a character reflecting this student's grade */ char letterGrade; /* Grades are assigned as follows: 90<=A, 80<=B<90, 70<=C<80, 60<=D< 70, F< 60 */ System.out.print("Letter grades: "); /* Might as well count up grades for histogram while we're at it */ int[] gradeCounts = new int[5]; for (int i = 0; i< grades.length; i++) { if (grades[i] >= 90) { letterGrade = 'A'; } else if (grades[i] >= 80) { letterGrade = 'B'; } else if (grades[i] >= 70) { letterGrade = 'C'; } else if (grades[i] >= 60) { letterGrade = 'D'; } else { letterGrade = 'F'; } System.out.print(letterGrade + " "); /* Count up grade distribution */ switch(letterGrade) { case 'A': gradeCounts[0]++; break; case 'B': gradeCounts[1]++; break; case 'C': gradeCounts[2]++; break; case 'D': gradeCounts[3]++; break; default: gradeCounts[4]++; } } System.out.println(); System.out.println("Part 5----------------"); for (int i=0; i