【发布时间】:2018-01-09 19:53:40
【问题描述】:
所以我对我的代码有疑问。我的代码的一部分包括一个关于个人详细信息的问题,并确保他们正确回答。这个人不能用空格或输入等来回答它。如果他们回答不正确,他们应该被再次发送回问题并重新输入他们的详细信息。
这是我已经走了多远:
System.out.println("Name: ");
String name = scan.nextLine();
if(name.equals(null) || name.equals("")) {
System.out.println("Name can't be empty, please enter again.");
System.out.println("Age: ");
int age = scan.nextInt();
if(age.equals(null) || age.equals("")) {
System.out.println("Age can't be empty, please enter again.");
现在的问题是,如果这个人用空格回答,我不太确定如何处理这个问题。该代码不处理空格。 另外,我怎样才能让程序自动回到前。 “姓名:”如果回答错误?
/安娜
【问题讨论】:
-
您可以在拨打
equals("")之前先拨打trim。顺便说一句,你应该这样做name == null否则你最终会得到一个NullPointerException -
将你的问题标题复制到谷歌,就会出现这个...How do I check that a Java String is not all whitespaces?
-
除此之外,您必须更改逻辑:如果名称或年龄为空,则继续。但是,您需要再次扫描它们。您可以使用
while循环来执行此操作。查看this answer 以了解其工作原理。 -
但是话又说回来,如果答案不正确,我该如何编写代码使其自动返回“名称:”?
标签: java string whitespace user-input