【发布时间】:2022-02-04 10:04:46
【问题描述】:
我有一个程序会询问用户的姓名并将其打印出来。它可以很好地完成该部分,但是当用户将提示留空并按“Enter”时,它当前存在不打印正确错误消息的问题。
代码:
//Get User Input
Scanner sc = new Scanner(System.in);
System.out.println("What is your name?");
while (sc.hasNext()) {
//User Input Variable
String name = sc.nextLine();
if (name == null || name.trim().isEmpty()) {
//Error for empty input, keep asking for valid input
System.out.print("Please, what is your name?\n");
sc.next();
} else {
//Print name
System.out.println("Hello " + name + "!");
break;
}//End of conditional
}//End of while loop
当前输出:
What is your name?
<blank space for input>
<Empty Space where error message should be>
理想的输出:
What is your name?
<blank space>
Please, what is your name?
怎么了?
【问题讨论】:
标签: java string loops if-statement java.util.scanner