Bry*_*Bry 2 java multidimensional-array
写方法:
public int sumRow(int[][] matrix, int row)
Run Code Online (Sandbox Code Playgroud)
row在2D数组中对行进行求和,称为矩阵.
鉴于:
public void run()
{
System.out.println(sumRow(new int[][]{{70,93,68,78,83},{68,89,91,93,72},{98,68,69,79,88}}, 2));
System.out.println(sumRow(new int[][]{{1,1,1}, {2,2,2}, {3,3,3}}, 0));
System.out.println(sumRow(new int[][]{{2,4,6,8,10}, {1,2,3,4,5}, {10,20,30,40,50}}, 2));
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我有:
public int sumRow(int[][] matrix, int row)
{
int sum = 0;
for(int i = 0; i < matrix.length; i++)
{
for(int j = 0; j < matrix.length; j++)
{
sum = sum + matrix[j][i];
}
}
return sum;
}
Run Code Online (Sandbox Code Playgroud)
我得到的输出是714,18和78,它们应该是402,3和150.我做错了什么?
当您被要求对2D数组中的特定行求和时,您当前正在尝试对2D数组中的所有元素求和.在这种情况下,您只需要一个for循环来遍历单个行,就像遍历单个数组一样.循环将从第一个元素开始,matrix[row][0]并一直运行到最后一个元素,matrix[row][matrix[row].length - 1]因为matrix[row].length是矩阵的特定行中的列/元素的数量.因此,matrix[row].length - 1将是最后一个元素的索引matrix[row].这是它应该是什么样子,
public int sumRow(int[][] matrix, int row)
{
int sum = 0;
for(int i = 0; i < matrix[row].length; i++)
{
sum += matrix[row][i];
}
return sum;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8908 次 |
| 最近记录: |