我有这样的代码键盘输入的字符串
System.out.println("Enter surname to search for:");
String choice2;
choice2= sc.nextLine();
在我看来,这应该工作,但由于某种原因程序没有停下来等待用户输入姓氏,代码的下一行在它之后执行。这个代码有问题吗?
我有这样的代码键盘输入的字符串
System.out.println("Enter surname to search for:");
String choice2;
choice2= sc.nextLine();
在我看来,这应该工作,但由于某种原因程序没有停下来等待用户输入姓氏,代码的下一行在它之后执行。这个代码有问题吗?
此代码是正确的,并且已经等待,直到用户输入姓名, 但你按下回车键输入的名称,因为您使用SC在此之前的代码不会在情况下暂停。 nextLine(),但是sc.next()会等你,直到你输入文字
这将工作努力的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();
}
欲了解更多详情,请参考以下网站。
它打印没有字符串变量的行只是“你好” – user1928374
我更新了答案再试一次。 –
@Alya'a Gamal给我解决方案sc.next()而不是sc.nextLine() – user1928374
什么是sc?如果你要发布[sscce](http://sscce.org/) – linski
,那么在“输入姓氏搜索:”在你的控制台上进行diplsayed后,你是否按回车键会更容易些? – Abubakkar
Scanner sc = new Scanner(System.in); um sscce? – user1928374