2013-01-16 73 views
-1

我有这样的代码键盘输入的字符串

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

在我看来,这应该工作,但由于某种原因程序没有停下来等待用户输入姓氏,代码的下一行在它之后执行。这个代码有问题吗?

+1

什么是sc?如果你要发布[sscce](http://sscce.org/) – linski

+0

,那么在“输入姓氏搜索:”在你的控制台上进行diplsayed后,你是否按回车键会更容易些? – Abubakkar

+0

Scanner sc = new Scanner(System.in); um sscce? – user1928374

回答

1

此代码是正确的,并且已经等待,直到用户输入姓名, 但你按下回车键输入的名称,因为您使用SC在此之前的代码不会在情况下暂停。 nextLine(),但是sc.next()会等你,直到你输入文字

+0

谢谢,这工作! – user1928374

+0

不客气 –

+1

@ user1928374如果这个答案对你有帮助,你应该加入并接受。 –

0

这将工作努力的choice2打印值与像“你好”的一些事情:

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

让我们看看这条线是印刷,但它不应该。

如果打印Hello,并没有别的意思,你进入了额外的新行,以便只需再次略低于调用choice2= sc.nextLine();有一个条件,如果选择2是""

System.out.println("Enter surname to search for:"); 
String choice2; 
choice2= sc.nextLine(); 
while(choice2.equels("").trim()){ 
    choice2= sc.nextLine();  
    } 

欲了解更多详情,请参考以下网站。

Scanner

+0

它打印没有字符串变量的行只是“你好” – user1928374

+0

我更新了答案再试一次。 –

+0

@Alya'a Gamal给我解决方案sc.next()而不是sc.nextLine() – user1928374