/** 10/29/2018 * This version is Solution 2 to problem described in Grades.java * Advantage: part 4 is solved * Disadvantage: does not scale up. */ import java.io.*; import java.util.Scanner; public class FiveGrades { public static void main(String[] args) throws IOException { Scanner infile = new Scanner(new File("grades.txt")); // Read in data (which is a header value followed by #s) final int NUM = 5; double grd1, grd2, grd3, grd4, grd5, sum=0.0; // initialize max to first data element grd1 = infile.nextDouble(); double min = grd1, max=grd1; // initialize max and min to first value int higherAvg=0; // Keep a running sum to calculate the average grd2 = infile.nextDouble(); grd3 = infile.nextDouble(); grd4 = infile.nextDouble(); grd5 = infile.nextDouble(); for i going from 2 to 5 read in the next value into grd[i] sum=grd1 + grd2 + grd3 + grd4 + grd5; double average = sum/5.0; System.out.println("\naverage: " + average + " max: " + max + " min: " + min); // how many grades are higher than average if (grd[i] > average) higherAvg++; if (grd2 > average) higherAvg++; if (grd3 > average) higherAvg++; if (grd4 > average) higherAvg++; if (grd5 > average) higherAvg++; } }