这个代码在循环第一次出现时运行得非常好,但是当我再次迭代它时(执行完整程序之后)。它抛出一个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”,所以没有人会感到困惑。
答案 0 :(得分:1)
NoSuchElementException
。在您的代码中必须如此,但只要您不提供完整的示例,就很难找到任何解决方案。我的第一个建议是使用hasNextInt()
方法检查输入中是否有任何数据,并且仅当第一个函数返回的值为nextInt()
时才调用true
。