-1

私はこのコードを持っています

 System.out.println("Enter surname to search for:");
 String choice2;
 choice2= sc.nextLine(); 

私の意見では、これは機能するはずですが、何らかの理由で、ユーザーが姓を入力するのを待つためにプログラムが一時停止していないため、次のコード行がその直後に実行されます。このコードに何か問題がありますか?

4

2 に答える 2

1

このコードは正しく、ユーザーが名前を入力するまで待機していますが、 sc.nextLine()を使用しているため、名前を入力する前に Enter キーを押した場合、このコードは一時停止しませんが、sc.next()はテキストを入力するまでお待ちください

于 2013-01-16T09:51:35.340 に答える
0

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();      
  }

詳細については、次のサイトを参照してください。

スキャナ

于 2013-01-16T09:49:59.320 に答える