java程序持续运行,但从未实际执行任何操作
我运行程序,但没有一行执行。当我告诉它停止时,它会打印一条红色的错误消息
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
这是我的代码,对于我有限的经验来说,没有什么是不寻常的,我的IDE在编写时不会报告任何错误
import java.util.Scanner;
public class 312easf2
{
public static void main(String[] args)
{
Scanner keyboard = new Scanner(System.in);
int grade = 0; // initial value to satify loop condition
double averageGrade = 0.0;
int max = keyboard.nextInt();
int min = max;
int next = keyboard.nextInt();
System.out.println("Enter a nonnegative integer (negative to stop): ");
while(next >= 0);
{
if(next > max)
max = next;
else if(next < min);
min = next;
next = keyboard.nextInt();
}
}
}
# 1 楼答案
编辑:我在我的回答中指出了一个语法问题,在程序正常运行之前,你仍然需要解决这个问题,但是对于现在来说,真正的问题在于你的前几行:
你的程序正在执行一些东西,但它什么也没说,只有当你停止时才打印错误,这一切都是因为你的程序实现中的一个错误。然而,这不是语法错误;只是你忘了一些重要的事情
Wcrousse in his answer explains what's happening.
有一个语法问题代码中有多个类似的语法问题,实际上是合法的语法,这就是IDE和编译器没有抱怨的原因。然而,它们往往是一种非常常见的错误,会导致意外行为
请特别注意分号,并再次尝试查看代码。或者,按照Gabe的建议使用调试器,这会让你更好地了解发生了什么