0

これは Java 101 の始まりにさかのぼりますが、ここに次のコードがあります。

    if ((d==3)&&(City.walls[x--][y])){
        System.out.println ("Fourth Condition true");
        System.out.println (City.walls[x--][y]);
        return false;
    }

City.walls[x--][y]) が false であり、false を出力してこれを確認したとしてもSystem.out.println、何があっても if ステートメントに入ります。比較で何が間違っていますか?前もって感謝します。

4

2 に答える 2

3

x の値を変更する x-- を使用しています。最初に値を返し、次に値を減らします。

int x = 5;
System.out.println(x--); //outputs 5
System.out.println(x);   //outputs 4

おそらく x-1 と言いたいでしょう

于 2012-10-10T04:31:58.473 に答える
2

ifコードが条件で実行され、次にifコンソールで印刷している条件内で実行されると、値は異なります。

if 条件で x の値を減らしています。したがって、条件内で印刷すると、値が減ります。

于 2012-10-10T04:32:17.333 に答える