-1

内部に if ステートメントを含む while ループがあります。if ステートメントは、else ステートメントを追加するまで正常に機能します。問題は、プログラムを実行すると、if ステートメント内の条件が満たされている場合でも、else ステートメントに直接ジャンプすることです。問題が見つからないようで、誰かが私を助けてくれることを望んでいました...

私のコードの一部:

while(!filen.endOfFile()) {
    linje = filen.inLine();
    splitt = linje.split(",");  

    if (linje.toUpperCase().contains(fugl.toUpperCase())) {
        System.out.println(splitt[0] + ": ");
        System.out.println(splitt[1]);
        System.out.println(splitt[2]);
        System.out.println(splitt[3]);

    } else {
        System.out.println("Write something here..."); 
    }
}

編集: if ステートメントを true にしようとしましたが、結果が表示されますが、else ステートメントが一番下に追加されます。なぜこれが起こるのか理解できませんか?

4

4 に答える 4

0

if 条件が満たされた場合でも、JVM が else ブロックを実行する理由はありません。条件の結果が偽の値を返すか、コードが適切にコンパイルされていない場合を除きます。

そのため、クラスをコンパイルして再試行してください。意図したとおりに動作していませんが、if 条件に絶対値 "true" を入れて、クラスをコンパイルし、if ブロックが実行されるかどうかを確認します。

于 2013-09-25T19:18:20.807 に答える
0

常に印刷でelseステートメントを避けるために。else ステートメントを削除する必要があります。検索したい別の条件がある場合にのみ、別の条件を追加してください。

于 2014-12-07T17:53:00.897 に答える