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();即可。程序崩溃。

最佳答案

您正在尝试阅读Double,而您却没有阅读。尝试:

while (!s.hasNextDouble())
{
    System.out.println("not a value" );
    s.next();
}
min = max = etc = s.nextDouble();

10-07 15:23