-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に の値が割り当てられ、nonzerosnonzeroインクリメントされます。

プレインクリメントを試す

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

プレインクリメントがあなたが望んでいたものではない場合。の初期化を確認し、nonzeros必要に応じて表示されるように '1` に変更します。コードは正常に機能しています。

于 2013-05-15T14:39:52.817 に答える