Java添加矩阵反对角元素

时间:2015-07-29 14:06:31

标签: java for-loop matrix

我想在java程序中使用for循环添加NxN矩阵antidiagonal元素。

这段代码(2个条件)不起作用,因为它总是说循环执行时sum2 = 0。

for (int i=0,j=t-1; i<t && j==0; i++, j--) { 
   sum2 = sum2 + aNumber[i][j];
}  

相反,这一个(一个条件)运作良好。

for (int i=0, j=t-1; i<t ; i++, j--) {
   sum2 = sum2 + aNumber[i][j];
}  

为什么第一个代码不起作用?

2 个答案:

答案 0 :(得分:2)

在第一个示例中,循环会在j != 0后立即结束,如果t > 1这意味着它将立即结束,而不会进行任何迭代。

答案 1 :(得分:1)

尝试这样的事情:

int maxIndex = matrix.length - 1;
int sum = 0;
for (int i = 0; i <= maxIndex; i++) {
    sum += matrix[i][maxIndex - i];
}

这取决于每个反对角元素的索引之和恰好等于N的事实。