总结一个2D数组

鉴于我目前的程序,我希望在用户输入所有值后计算每列和每行的总和。 我当前的代码似乎只是将数组的值加倍。 这不是我想要做的。 例如,如果用户输入具有以下值的3×3矩阵1 2 3 2 3 4 3 4 5,它将看起来像我在下面的程序中格式化它。 (见顶部评论)

然后我还想修改代码,以便它挑出对角线并将其打印出来,以便输出显示:主对角线:{1,3,5}

您的代码没问题,但最后要对列进行求和,您应该更改行而不是列。 像这样:

System.out.println("\n"); for( int column = 0; column < columns; column++) { for(int row = 0; row < rows; row++) { array2d[row][column] = array2d[row][column] + array2d[row][column]; System.out.print(array2d[row][column] + " "); } System.out.println(); } 

欢迎来到Java世界。 首先让我们剖析你的“加倍arrays”代码。

 array2d[row][column] = array2d[row][column] + array2d[row][column]; 

这行代码就是问题所在。 您应用的循环倾向于更新矩阵中每个元素的值。 例如,假设

 array2d[1][2]=2 

因此上面提到的代码就是这样做的

 array2d[1][2]= array2d[1][2]+array2d[1][2]; 

这基本上使数组的值加倍。

你应该尝试这样的事情:

 //To print the values of rows for(int i=0;i
		      	

对于主对角线

 for(int i=0;i