簡體   English   中英

如何計算java中二維數組中對角線之后的元素之和?

[英]how to calculate the sum of elements after the diagonal in 2D array in java?

我有一個函數需要計算2D數組中對角線之后的元素之和,但是問題是該函數返回對角線中元素的和。

我需要的是如果我有一個像這樣的矩陣:

1 2 3
4 5 6
7 8 9

對角線的元素是= 1 5 9

我需要計算這些對角線數字之后的數字,所以它將像這樣:

1 2 3
4 5 6
7 8 9

sum = 2+3+6 = 11

如果有人可以幫助我解決問題,我將不勝感激。

這是我的代碼:

public int calculate(){

        int sum = 0;

        for(int row = 0; row <matrix.length; row++){
            for(int col = 0; col < matrix[row].length; col++){
                if(row == col){
                 sum = sum + row+1 ;
                }
            }
        }
        System.out.println("the sum is: " + sum );
        return sum;
    }

public static void main(String[] args) {

    int[][] ma = new int[2][2];
    Question2 q2 = new Question2(2, 2, ma);
    q2.fill();
    q2.calculate();
}

輸出為:

2 1 
2 1 
the sum is: 3

您希望col遍歷所有元素,並且始終大於對角線。

因此,請嘗試:

int sum = 0;
for(int i = 0 ; i < a.length ; ++i) {
    for(int j = i + 1 ; j < a[i].length ; ++j) {
        sum += a[i][j];
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM