-1
public int Gauss_Jordan(double[][] matrix, int numOfRows, int numOfCols) {
    for (int col_j = 0; col_j<numOfCols; col_j++) {
        row_i = nonzeros ++;
        System.out.println(row_i+" and "+nonzeros);
    }
    //return matrix;

    return 0;
}

在上面称为“Gauss_Jordan”的方法中,您可以看到一个 for 循环,它在其中迭代直到满足某个条件。(呃..大声笑对不起)。

所以我设置 row_i = nonzeros++ 但事情就是这样,当我打印出每次迭代时,我得到

  • 0和1,
  • 1和2,
  • 2 和 3

. 我希望输出是:

  • 1和1,
  • 2和2,
  • 3和3。

怎么不是这样?

4

3 回答 3

4

你需要++nonzeros而不是nonzeros++得到你所期望的。

于 2013-05-15T14:37:10.293 回答
4

这就是所谓的后增量;

当你说row_i = nonzeros ++;

首先,row_i将分配给的值,nonzeros并且nonzero将增加。

尝试预增量

row_i = ++nonzeros; 
于 2013-05-15T14:37:18.073 回答
0

如果预增量不是您想要的。检查初始化nonzeros并将其更改为“1”,以便根据需要显示。您的代码运行正常。

于 2013-05-15T14:39:52.817 回答