【问题标题】:Java add matrix antidiagonal elementsJava添加矩阵对角元素
【发布时间】:2015-07-29 14:06:30
【问题描述】:

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

此代码(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];
}  

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

【问题讨论】:

  • =j=t-1 &amp;&amp; j=0 - 这就是你的代码吗?
  • 不,抱歉,我抄错了。它是 i
  • 要获得对角线的总和,您需要单元格的值。但您只会得到aNumber[i][0];

标签: java for-loop matrix


【解决方案1】:

在您的第一个示例中,循环在j != 0 时立即结束,如果t &gt; 1 这意味着它将立即结束,根本不进行任何迭代。

【讨论】:

    【解决方案2】:

    试试这样的:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多