这似乎是一个常见问题(多次提出),但我无法找到对此行为的解释。下面的代码工作在一个编译器,但抛出Exception in thread "main" java.util.NoSuchElementException
的另一个编译
Scanner s = new Scanner(System.in);
System.out.println("Enter name: ");
String name = s.next();
System.out.println("Name is " + name);
Tested on <https://www.compilejava.net/>
and<https://www.codechef.com/ide>
上测试,它
会引发异常。但是,在某些编译器上,它可以正常工作。是否有任何
这种行为的原因(例如JDK的更改或其他原因)?
抛出此异常是因为枚举中没有其他元素。
请参阅该文档:
由Enumeration的nextElement方法抛出,以指示该枚举中没有更多元素。
一些在线IDE根本不允许用户输入,在这种情况下,
当您尝试读取用户输入时会抛出异常。
它可在TutorialsPoint IDE
上使用,因为它允许用户输入。它不适用于codechef和compilejava IDE,因为这些IDE不支持用户输入。但是,还有第二种方法可以在codechef上添加用户输入。只需在Custom Input
复选框上打勾并提供任何输入即可。然后它将编译。
发生此异常的另一个原因,即根本没有更多的用户输入,可以通过在调用之前s.next()
检查s.hasNext()
一下扫描程序是否还有另一个令牌来处理。
Scanner s = new Scanner(System.in);
System.out.print("Enter name: ");
String name = null;
if(s.hasNext())
name = s.next();
System.out.println("Name is " + name);
问题内容: 在Java中,出现此异常: 从此Java代码: 抛出异常 System.out.println(file.next()。charAt(counter)); 异常是什么意思? 问题答案: 您在循环的每次迭代中都调用两次,因此,当您快要结束时,您会跳出列表的末尾,编译器会告诉您那里什么也没有。 代替这个: 改为这样做: 看这里
下面的代码显示了一个错误。我对编码很陌生。这东西弄乱了我的脑袋。我能做什么? 下面的代码在编辑之后。但它仍然显示出NoSuchElementFound异常的相同错误。
问题内容: 我真的试图通过线程找到答案,但仍然希望能得到一些反馈。 我认为下面的代码风格不好,但是我不知道为什么在输入数字后会把我射杀 ,因为我为两个方法创建了两个Scanner对象,并且我应该能够开始一个新的输入。而且,如果我删除了inputAndPrintNumber()中的内容,它将正常工作并正确编译。我真的希望知道如果我仍然使用两个Scanner obj并且不删除(如果可能的话)为什么以及
问题内容: 我的Java作业有问题。我遇到了意外的异常,特别是: java.util.NoSuchElementException:找不到行 我正在使用,该程序不断读取任何内容,并重复“无效格式”异常文本。如果输入正确的值,则第一部分通过,然后该部分立即进入此异常。如果输入的值不正确,则它将开始循环异常。 这是我的代码: 问题答案: 您关闭了多个库,这些库关闭了底层库,因此另一个库将不再从同一库和
我怎样才能解决这个问题?
对不起,我的问题,但我是一个初学者。请你能支持与扫描仪相关的关心。 “背景”:我写了一些研究扫描仪的代码: 我有一个例外:找不到行。这就是我在输出中得到的结果: 任务:运行失败今天是哪一天?线程“main”java.util.NosuchelementException异常:在java.base/java.util.Scanner.NextLine(Scanner.java:1651)和demoo