class ArrayIntro extends Object120 { /** return the sum of all numbers in `nums`. */ static double sumOfArray( double[] nums ) { double sumSoFar = 0; int i = 0; while ( i < length(nums)) { sumSoFar = sumSoFar + nums[i]; i += 1; } return sumSoFar; } static double[] cumulate( double[] data ) { double[] answerSoFar; answerSoFar = new double[ length(data) ]; double sumSoFar; sumSoFar = 0.0; int i = 0; while ( i < length(data)) { sumSoFar = sumSoFar + data[i]; answerSoFar[i] = sumSoFar; i += 1; } return answerSoFar; } /** return the avg of all numbers in `nums`. * pre-condition: length(nums) != 0 */ static double avgOfArray( double[] nums ) { return sumOfArray(nums) / length(nums); } public static void main( String[] args ) { double[] rainfall; rainfall = new double[]{3.7, 2.1, 4.5, 99.7, 0.0, 4.0}; assertEquals( 0.0, sumOfArray(new double[]{}) ); assertEquals( 5.0, sumOfArray(new double[]{5}) ); assertEquals( 7.5, sumOfArray(new double[]{5, 2.5}) ); assertEquals( 5.0, avgOfArray(new double[]{5}) ); assertEquals( 1.25, avgOfArray(new double[]{0, 2.5}) ); assertEquals( new double[]{3.7, 5.8, 10.3, 110.0, 110.0, 114.0 }, cumulate(rainfall) ); System.out.println( "The total rainfall is " + sumOfArray(rainfall) ); rainfall = new double[1000]; } }