我试图使用名为columnAverage的函数找到我的2d数组中每列的平均值,但我得到的行平均值不是列。任何建议,将不胜感激。这是我的代码。
public class Lluvias {
public static void printArray(int array[][]){
for (int[] a : array) {
for (int i : a) {
System.out.print(i + "\t");
}
System.out.println("\n"); }
}
public static void columnAverage(int array[][]){
for(int i=0; i<array.length; i++){
int sum = 0;
for(int j=0; j<array[i].length; j++){
sum+= array[i][j];
}
System.out.println(sum/array[i].length);
System.out.println();
}
}
public static void main(String[] args) {
int[][] lluvias = {
{50,45,60,58},
{7,3,15,22},
{12,10,8,17},
{15,5,20,35},
{22,30,15,22},
{50,90,60,100},
{85,130,20,88},
{70,75,88,94},
{65,49,53,105},
{28,37,29,37},
{35,15,22,4},
{17,8,14,0},
};
printArray(lluvias);
columnAverage(lluvias);
答案 0 :(得分:1)
您目前正在将行中的每个元素添加到变量sum。
您必须更改内部循环以迭代行数而不是列。
public static void columnAverage(int array[][]) {
for (int col = 0; col < array[col].length; col++) {
int sum = 0;
for (int row = 0; row < array.length; row++) {
sum += array[row][col];
}
System.out.println(sum / array.length);
System.out.println();
}
}