gpt4 book ai didi

java - 求二维数组中某一列的平均值并将结果放入另一个矩阵中

转载 作者:太空宇宙 更新时间:2023-11-04 06:09:51 25 4
gpt4 key购买 nike

我正在尝试创建一种方法来计算列的平均值,然后将答案放入另一个数组中。所以我传递了 2 个数组并且不发送任何内容。我的问题是我得到的数字相差很大。我知道这是我忽略的小东西,但请看一下:

public static void columnAverages(double [][] matrix1, double [][] matrix2)
{
double sum;
for (int c = 1; c < matrix1[0].length; c++){
sum = 0;
for (int r = 0; r < matrix1.length; r++){
sum = sum + matrix1[r][c];
matrix2[2][r]=sum/matrix1[0].length;
}
}
}

这是我非常原始的结果

 Student   test1     test2     test3    average

1.00 98.00 95.00 97.00 96.67
2.00 97.00 96.00 96.00 96.33
3.00 94.00 98.00 98.00 96.67

0.00 0.00 0.00 0.00
0.00 0.00 0.00 0.00
19.33 38.60 57.93 0.00

heres how I want the last table to look
lowest 0.00 0.00 0.00 0.00
highest 0.00 0.00 0.00 0.00
test averages go here 0.00 0.00 0.00 0.00(average of all the averages)

我从 main 调用这个方法:

public static void main(String[] args){ 
Scanner kb = new Scanner(System.in);
System.out.println("How many students are there?");
int students=kb.nextInt();
double [][] grades= new double [students][5];
double [][] averages= new double [3][5];
getScores(grades);
rowAverage(grades);
System.out.printf("%10s","Student");
printArray(grades);
columnAverages(grades, averages);
System.out.println(); printArray(averages);
kb.close();
}

任何帮助将不胜感激。我已经被这个问题困扰了很长时间了。

最佳答案

您的问题在这里:

matrix2[2][r] = sum / matrix1[0].length;

应该是:

matrix2[2][c] = sum / matrix1.length;

更新:不要忘记将线放置在循环之外!

关于java - 求二维数组中某一列的平均值并将结果放入另一个矩阵中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28869907/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com