1
while (!s.hasNextDouble())
{
System.out.println("not a value" );
    s.nextDouble();

}

sum = min = max = next = s.nextDouble();    

for (loop follows to decide min and max and average) 

为什么我在线程“main”java.util.InputMismatchException 中得到一个扫描仪异常,当我运行它时。我查看了 API,我认为我做得对。如果不将 s.nextDouble() 放在 System.out 之后,则循环运行良好,但只要键入 s.nextDouble(); 程序崩溃。

4

1 回答 1

3

您正在尝试阅读一段Double时间,而您没有阅读。尝试:

while (!s.hasNextDouble())
{
    System.out.println("not a value" );
    s.next();
}
min = max = etc = s.nextDouble();
于 2012-11-19T21:38:55.863 回答