2017-11-18 4 views
0

私は、入力が正しく "正しい"場合はxを取得し、入力が正しくない場合は "間違った"を出力するユーザー入力を取得するスキャナを持っています。しかし、正しいか間違った文字列をタイプするかどうかは、 "間違っている"ループを出力する無限ループに詰まっていますか?whileループでユーザーの入力を格納する変数を使用するにはどうすればよいですか?

ユーザーの入力が正しいかどうかを確認し、正しい場合は「正しい」という単語を出力し、プログラムの次の部分に移動します。入力が間違っている場合、「間違って」出力し、入力が正しいまでループを繰り返します。

これはうまくいけばうまくいきます。

コード:

Scanner sc = new Scanner(System.in); 

    int n = 0; 
    String x = sc.nextLine(); 
    while(n == 0){ 
     if (x == "inv"){ 
      System.out.println("correct"); 
      n++; 
     }else{ 
      System.out.println("incorrect"); 
     } 
    } 
+0

を使用するために必要で、感謝を働きました! – user7431342

+1

x == "inv"が間違っています。 https://stackoverflow.com/questions/767372/java-string-equals-versus – caot

答えて

0

私はAominè@x.equals("Inv")ではなくx == "Inv"

+1

"Inv" .equals(x)を使用するほうがはるかに優れています – caot

+0

違いは何ですか、興味がありますか? – user7431342

+0

xがnullの場合、NullPointerExceptionで失敗します。 "Inv"は決してnullにはならないので、安全です。 – caot

関連する問題