【发布时间】:2011-01-13 02:51:58
【问题描述】:
我有一个 while 循环,它应该捕获一个非 int 输入并要求用户重新输入一个 int。然而,它只是无休止地循环错误消息。 有谁知道为什么第二次不允许扫描仪输入?
while(!enteredInt)
{
try
{
locus = input.nextInt();
enteredInt = true;
}
catch (Exception e)
{
//user didn't type an integer
System.out.println("You didn't enter a valid number, re-enter point where you will build your city");
}
}
【问题讨论】:
-
在这种情况下
input是什么? -
输入什么样的对象?扫描仪?
-
捕捉
Exception很糟糕,不要这样做。它可能是NullPointerException,但你永远不会知道。它也会产生你所描述的结果。