我需要以下程序的帮助:
“编写一种将二维双精度数组作为输入参数并返回数组元素平均值的方法。”
谁能告诉我该怎么做?
我当前的代码:
public static double average(float arr[][]) { double sum = 0; int count = 0; for (int row = 0; row < arr.length; row++) for (int col = 0; col < arr[0].length; col++) { sum += arr[row][col]; count++; } return sum/count; }
我不知道如何让用户输入数组元素和数组尺寸(行/列)。另外,如何从main调用此方法?我遇到错误。
试试这个:
码:
public class AverageElements { private static double[][] array; public static void main (String[] args){ // Initialize array initializeArray(); // Calculate average System.out.println(getAverage()); } private static void initializeArray(){ array = new double[5][2]; array[0][0]=1.1; array[0][1]=12.3; array[1][0]=3.4; array[1][1]=5.8; array[2][0]=9.8; array[2][1]=5.7; array[3][0]=4.6; array[3][1]=7.45698; array[4][0]=1.22; array[4][1]=3.1478; } private static double getAverage(){ int counter=0; double sum = 0; for(int i=0;i<array.length;i++){ for(int j=0;j<array[i].length;j++){ sum = sum+array[i][j]; counter++; } } return sum / counter; } }
输出:
5.452478000000001