2017-04-30 4 views
-3

- 私は不要なように見えますが、問題はこのように見えます。コードは一度実行され、スキャナに答えて「はい」と入力してもループは止まります。一回だけループします。あなたは間違ってstringsを比較しているなぜこの基本的なメインメソッドはループが機能しないのですか?構文エラーはありません

while (bool == "yes") 

を、それは次のようになります。

while (bool.equals("yes")) 

長い答え:

あなたは、D際

String bool = "yes"; 
    while (bool == "yes") { 
     int e1 = whichExam(); 
     printinfo(pp, csn, isa, fwt, lds, afl, oop, e1); 
     Scanner scanner = new Scanner(System.in); 
     System.out.println("Do you want to check another exam ('yes' or 'no')?"); 
     bool = scanner.nextLine(); 
    } 
+1

それはほとんど重複しません、私は、問題が何であったか知らなかったと私は私が最初の場所でお願いしなかったと知っていた場合。このような重複を判断すると、オリジナルの質問は不可能に近いでしょう。 –

答えて

2

短い答えO while (bool == "yes")あなたは、メモリ内の同じオブジェクトの両方String参照ポイントかどうかをチェックしているとそれがない場合であるので、条件が最初にチェックされているた後、したがってループが一度だけ実行されます。 equalsIgnoreCase(String other)を使用することもできます。

+1

ああ、うまくいけば答える –

関連する問題