【发布时间】:2021-09-09 18:01:12
【问题描述】:
我是一个完整的初学者,我正在尝试创建一个 while 循环,该循环不断询问用户输入,直到它得到一个正的非零整数,然后继续下一部分。到目前为止,这是我所得到的:
System.out.println("Enter the speed of the vehicle in "
+ "miles per hour: ");
while (keyboard.hasNext())
{
if (keyboard.hasNextInt())
{
speed = keyboard.nextInt();
while (speed <= 0)
{
System.out.println("Please enter a positive nonzero number: ");
speed = keyboard.nextInt();
}
}
else
{
System.out.println("Please enter a number: ");
speed = keyboard.nextInt();
}
}
现在,当我运行它并输入除整数以外的任何内容时,它会打印出“请输入一个数字”这一行,但随后我立即收到 InputMatchException 错误并且构建失败。如果我输入一个负数或零,它会提示我输入一个正数,直到我输入一个正数,但随后代码会停止执行并继续运行,同时无限期地什么都不做,而不是转到循环之后的部分,这只是从另一个系统开始。输出。提前感谢您的帮助。
【问题讨论】:
标签: java validation input while-loop