public class StudentRecord { private int[] scores; public StudentRecord(int[] scores) { this.scores = scores; } /** * returns the average (arithmetic mean) of the * whose subscripts are between first and last, * precondition: 0 <= first <= last < scores.length */ public double average(int first, int last) { // part (a) return 0D; } /** * returns true if each successive value in scores is greater * than or equal to the previous value; * otherwise, returns false */ public boolean hasImproved() { //part (b) return false; } /** * if the values in scores have improved, returns the average * of the elements in scores with indexes greater than or equal * to scores.length/2; * otherwise, returns the average of all of the values in scores * */ public double finalAverage() { // part (c) return 0D; } public static void main (String[] args) { //three different ways to make our int arrays int[] a1={50, 50, 20, 80, 53}; int a2[]={20, 50, 50, 53, 80}; int[] a3=new int[4]; a3[0]=20; a3[1]=a3[2]=50; a3[3]=80; StudentRecord s1=new StudentRecord(a1); StudentRecord s2=new StudentRecord(a2); StudentRecord s3=new StudentRecord(a3); System.out.println("s1 improved? "+ passFail(false, s1.hasImproved())); System.out.println("s2 improved? "+ passFail(true, s2.hasImproved())); System.out.println("s3 improved? "+ passFail(true, s3.hasImproved())); System.out.println("\ns1 average(0,1): "+ passFail(50, s1.average(0, 1))); System.out.println("s2 average(1,2): "+ passFail(50, s2.average(1, 2))); System.out.println("s3 average(0,2): "+ passFail(40, s3.average(0, 2))); System.out.println("\ns1 final average: " + passFail(50.6, s1.finalAverage())); System.out.println("s2 final average: " + passFail(61.0, s2.finalAverage())); System.out.println("s3 final average: " + passFail(65.0, s3.finalAverage())); } public static String passFail(double expected, double actual) { String result = actual + " (should be "+ expected+ ")"; if (expected - actual == 0) return result + " - PASS!"; return result + " - FAIL..."; } public static String passFail(boolean expected, boolean actual) { String result = actual + " (should be "+ expected+ ")"; if (expected == actual) return result + " - PASS!"; return result + " - FAIL..."; } }