Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在二维数组中查找列的平均值并将结果放入另一个矩阵中_Java_Arrays_Loops - Fatal编程技术网

Java 在二维数组中查找列的平均值并将结果放入另一个矩阵中

Java 在二维数组中查找列的平均值并将结果放入另一个矩阵中,java,arrays,loops,Java,Arrays,Loops,我试图创建一个方法,计算出列的平均值,然后将答案放入另一个数组中。所以我通过了2个数组,什么也不发送。我的问题是,我得到的数字太离谱了。我知道这是个小东西,我看过头了,但请看一下: public static void columnAverages(double [][] matrix1, double [][] matrix2) { double sum; for (int c = 1; c < matrix1[0].length; c++){ sum

我试图创建一个方法,计算出列的平均值,然后将答案放入另一个数组中。所以我通过了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;
        }
    }
}
我正在从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;
更新:
别忘了把线放在环路外

你能告诉我你是怎么打电话的吗?我只想看看数组里有什么。matrix1/matrix2对我没有意义!这是我的主要方法我试着把它放在代码中抱歉如果它混淆了
publicstaticvoidmain(String[]args){Scanner kb=newscanner(System.in);System.out.println(“有多少学生?”);int students=kb.nextInt();double[]grades=new double[student][5];double[]averages=new double[3][5];getScores;rowAverage(成绩);System.out.printf(“%10s”,“Student”);printary(成绩);columnAverages(成绩,平均值);System.out.println();printary(平均值);kb.close()
将除法放入外部循环首先,学生编号不应该在数组中。没有必要。其次,为什么
matrix2
列相对于
matrix1
移动?最后,为什么在
matrix2
表中有任何数据?
matrix2[2][c] = sum / matrix1.length;