0

这段代码在第一次循环时运行得非常好,但是当我再次迭代它时(在执行完整程序之后)。它在我的代码中抛出一个NoSuchElementException,我根本没有关闭任何地方Scanner,所以可能是什么问题?

我还应该提到编译器给了我调用这个循环的方法所在的行,该行是:l = scan.nextInt();

Scanner scan = new Scanner(System.in);
int l;
do {
System.out.println("Please Select...:");
System.out.println("1. for ...");
l = scan.nextInt();
}
while (l < 0 || l > 4);

我的变量是小写字母“L”,这样就不会让人感到困惑。

4

1 回答 1

1

NoSuchElementException当输入中没有数据时抛出。在您的代码中必须是这种情况,但只要您不提供完整的示例,就很难找到任何解决方案。我的第一个建议是使用方法检查输入中是否有任何数据,并且仅当第一个函数返回的值是时才hasNextInt()调用。nextInt()true

于 2013-01-27T15:54:16.463 回答