我正在研究这个程序,我想在二维的整数数组中找到每行最后一列中元素的总和。
到目前为止,我有这个代码可以正常工作。
public class Lab {
public static void main(String[] args) {
int[][] arr = { { 2, 4, 5, 7 }, { 4, 8, 7, 5 }, { 5, 9, 2, 20 } };
//getting each array from multidimensional array (arr)
int[] firstRow = arr[0];
int[] secondRow = arr[1];
int[] lastRow = arr[arr.length - 1];
//getting last element in each row
int lastItemInFirstRow = firstRow[firstRow.length - 1]; // 7
int lastItemInSecondRow = secondRow[secondRow.length - 1];// 5
int lastItemInLastRow = lastRow[lastRow.length - 1]; // 20
//sum of the elements in the last column of each row in a two-dimensional array
// 7 + 5 + 20
System.out.println(lastItemInFirstRow + lastItemInSecondRow + lastItemInLastRow); //32
}
}
但是,我需要创建一种比这更有效的方法。例如,如果我的多维数组中有20个数组,该怎么办?如果我尝试上面的代码,它将需要许多行代码。所以我创建了一个方法来处理每行最后一列中元素的总和,但我不知道如何得到实际的总和。请有人帮帮我。非常感谢!
这是我的方法:
public static int sumOfElementsInLastColumn(int[][] arr){
int sum = 0;
for(int row = 0 ; row < arr.length; row++){
for(int column = 0 ; column < arr[row].length ; column++){
sum += arr[row][arr.length];
}
}
return sum;
}
答案 0 :(得分:2)
public static int sumOfElementsInLastColumn(int[][] arr)
{
int sum = 0;
for (int i = 0; i < arr.length; i++)
{
int [] row = arr[i];
sum += row[row.length - 1];
}
return sum;
}