0

こんにちは私は次のコードを持っています:

  boolean result = someexpression();

            if(!result)
            {
            System.out.println("False..."); 
            }
            if (result); 
            {
                System.out.println("True");
            }

両方を印刷します(Falseとtrue)私も次のようなものを使用してみました

     if(result==true)

しかし、それではうまくいかないようです。変数の値に関係なく、条件に入るだけです。私はEclipseを使用していますが、これは特定の部分でのみ発生します。

4

2 に答える 2

8
if (result); 

;この行の最後にあるを削除します。

を使用する;と、「の場合resulttrue何もしない」という意味になります。次のステートメントを含むブロックはの一部ではなく、if常に実行されます。これとまったく同じです:

if (result)   // if result is true
    ;         // then do nothing

System.out.println("True");  // is always executed
于 2012-06-13T14:28:34.897 に答える
7

ifステートメントの最後に不正なセミコロンがあります。

if (result);

これにより、コードは次のように評価されます

if (result) {

}
{
    System.out.println("True");
}

ここで、の2番目のペアは{}、if制御ブロックの一部ではなくなったため、常に実行されるコードブロックを示します。だから、そのセミコロンを取り除いてください(私はあなたがそこに置くつもりだったものではないと思います)!

于 2012-06-13T14:28:39.770 に答える