私はこのコードを持っています
System.out.println("Enter surname to search for:");
String choice2;
choice2= sc.nextLine();
私の意見では、これは機能するはずですが、何らかの理由で、ユーザーが姓を入力するのを待つためにプログラムが一時停止していないため、次のコード行がその直後に実行されます。このコードに何か問題がありますか?
このコードは正しく、ユーザーが名前を入力するまで待機していますが、 sc.nextLine()を使用しているため、名前を入力する前に Enter キーを押した場合、このコードは一時停止しませんが、sc.next()はテキストを入力するまでお待ちください
choice2
これは、「Hello」のようなものでの値を印刷しようとすると機能します。
System.out.println("Enter surname to search for:");
String choice2;
choice2= sc.nextLine();
System.out.println("Hello "+choice2);
この行が印刷されているかどうか見てみましょう。
その印刷Hello
と他に何もない場合は、余分な新しい行を入力したことを意味するのでchoice2= sc.nextLine();
、条件 if choice2 is ですぐ下にもう一度呼び出し""
ます。
System.out.println("Enter surname to search for:");
String choice2;
choice2= sc.nextLine();
while(choice2.equels("").trim()){
choice2= sc.nextLine();
}
詳細については、次のサイトを参照してください。