class Arrays2d { public static void initializeOneCell( double[][] data, int rowNum, int colNum ) { data[rowNum][colNum] = rowNum*colNum; } public static void initializeOneRow( double[][] data, int rowNum ) { for (int c=0; c < data[rowNum].length; ++c) { initializeOneCell(data, rowNum, c); } } public static void initializeArray( double[][] data ) { for (int r=0; r < data.length; ++r) { initializeOneRow(data, r); } } public static void main( String[] args ) { double[][] elevations = new double[4][7]; initializeArray( elevations ); System.out.println( "The array is: " + java.util.Arrays.deepToString( elevations ) ); } /** Calculate the sum of one row of a 2-d array, given the desired row-number. * @param nums The 2-d array of numbers to add. * @param rowNum the desired row to add each column-value of. * We must have 0 <= rowNum < nums.length. * @return nums[rowNum][0]+nums[rowNum][1]+... */ public static double sumOfRow( double[][] nums, int rowNum ) { double rowSumSoFar = 0.0; for (int c=0; c < nums[rowNum].length; ++c) { rowSumSoFar += nums[rowNum][c]; } return rowSumSoFar; } /** Calculate the average value of a 2-d array. * @param nums The 2-d array of numbers to average. * It must be non-empty. * @return The average (mean) of all numbers in `nums`. */ public static double avg( double[][] nums ) { double sumSoFar = 0; for (int i=0; i < nums.length; ++i) { sumSoFar = sumOfRow( nums, i ); } return sumSoFar / (nums.length * nums[0].length); } }