我有一个简单的代码,要求用户的年龄。一切都在正常工作,除了,如果我什么都不打,只需按回车键,我就进入了某个东西-也许是无限循环?我不确定,但我无法摆脱它。
在处理字符串时,我看到了无数关于这个主题的问题和回答,但几乎没有任何关于字符串的问题 byte
(或 int
).
这是我的密码:
//App #2: Age
System.out.print("Enter your Age: ");
byte age = scanner.nextByte();
while (!scanner.hasNext()) {
System.out.println("Please enter a valid number.");
byte test = scanner.nextByte();
}
if (age > 16) {
applicant.age = age;
System.out.println(age);
}
else
System.out.println("You must be at least 17 years old to obtain a microloan.");
如何强制用户输入有效数字?
1条答案
按热度按时间tv6aics11#
只要有其他输入可用,循环就需要继续(即。,
scanner.hasNext()
)但它不是有效字节(即。,!scanner.hashNextByte()
). 你还应该记得消费(next()
)任何无效字符串,以便可以计算下一个输入的字符串: