2016-04-26 6 views
-2

私はこのプログラムで、2次元配列のintの各行の最後の列の要素の合計を求めています。2次元配列の各行の最後の列の要素の合計を取得するにはどうすればよいですか?

これまでのところ、このコードはうまく動作します。

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; 

} 

答えて

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; 
} 
+0

おかげであなたの助けのためにたくさん:

は、ここに私の方法です! – HenryDev

関連する問題