Java while 循环错误打印用户输入需要按两次回车键
Java while loop error printing user input requires enter key to be pressed twice
我正在尝试打印出用户输入的无效输入,但是如果他们第二次输入一些包含空格的长文本,我 运行 就会遇到问题......它需要回车键在打印错误消息之前按两次。下面是我为它完成的代码,知道如何修复它吗?
private Scanner input;
input = new Scanner(System.in);
while (!input.hasNextInt()) {
System.out.println("[ERROR] Invalid entry!" + input.nextLine()
+ "\n Please enter a valid Menu Option number ");
input.nextLine();
}
while 循环中有两个 input.nextLine()
;一个在 print 语句中,一个在 print 方法之后,这就是为什么你需要按 enter 两次。尝试使用以下代码:
Scanner input;
input = new Scanner(System.in);
while (!input.hasNextInt()) {
String s = input.nextLine();
System.out.println("[ERROR] Invalid entry!" + s + "\n Please enter a valid Menu Option number ");
}
不要在打印语句中使用 input.nextLine()
,而是获取一次输入并存储它以供使用。
尝试将 while 循环更改为这样的 if 语句:
Scanner input;
input = new Scanner(System.in);
if (!input.hasNextInt()) {
String myString = input.nextLine();
System.out.println("[ERROR] Invalid entry!" + myString + "\n Please enter a valid Menu Option number ");
}
你不需要每次都检查输入是否有整数值,因为if语句只会在用户输入一个输入时检查条件
我正在尝试打印出用户输入的无效输入,但是如果他们第二次输入一些包含空格的长文本,我 运行 就会遇到问题......它需要回车键在打印错误消息之前按两次。下面是我为它完成的代码,知道如何修复它吗?
private Scanner input;
input = new Scanner(System.in);
while (!input.hasNextInt()) {
System.out.println("[ERROR] Invalid entry!" + input.nextLine()
+ "\n Please enter a valid Menu Option number ");
input.nextLine();
}
while 循环中有两个 input.nextLine()
;一个在 print 语句中,一个在 print 方法之后,这就是为什么你需要按 enter 两次。尝试使用以下代码:
Scanner input;
input = new Scanner(System.in);
while (!input.hasNextInt()) {
String s = input.nextLine();
System.out.println("[ERROR] Invalid entry!" + s + "\n Please enter a valid Menu Option number ");
}
不要在打印语句中使用 input.nextLine()
,而是获取一次输入并存储它以供使用。
尝试将 while 循环更改为这样的 if 语句:
Scanner input;
input = new Scanner(System.in);
if (!input.hasNextInt()) {
String myString = input.nextLine();
System.out.println("[ERROR] Invalid entry!" + myString + "\n Please enter a valid Menu Option number ");
}
你不需要每次都检查输入是否有整数值,因为if语句只会在用户输入一个输入时检查条件