我正在尝试使用 Scanner 从键盘获取 int,但出现以下错误:
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Scanner.java:907)
at java.util.Scanner.next(Scanner.java:1530)
at java.util.Scanner.nextInt(Scanner.java:2160)
at java.util.Scanner.nextInt(Scanner.java:2119)
at TableReader.mainMenu(TableReader.java:122)
at TableReader.main(TableReader.java:76)
这就是我所拥有的。它独立于我的程序的其余部分,我不明白为什么这不起作用。如果有帮助,它会在一个在 while 循环中调用的方法中声明。
// scan for selection
Scanner s = new Scanner(System.in);
int choice = s.nextInt(); // error occurs at this line
s.close();
我逐步使用调试器并将错误缩小到:
Java 运行时环境检测到致命错误:SIGSEGV (0xb) at pc=0xb6bdc8a8, pid=5587, tid=1828186944
JRE 版本:7.0_07-b30 Java VM:OpenJDK Server VM(23.2-b09 混合模式 linux-x86)有问题的框架:V [libjvm.so+0x4258a8] java_lang_String::utf8_length(oopDesc*)+0x58
无法写入核心转储。核心转储已被禁用。要启用核心转储,请在再次启动 Java 之前尝试“ulimit -c unlimited”