[英]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.