Java 不能找出错误吗?(爪哇)

Java 不能找出错误吗?(爪哇),java,Java,所以我似乎无法找出程序不断抛出的错误。只有当我从菜单中选择选项2,并且它指示我的错误代码行是第140行时,才会发生这种情况 userChoice=one.nextInt 有什么问题吗?这是错误代码 java.util.NoSuchElementException at java.util.Scanner.throwFor(Unknown Source) at java.util.Scanner.next(Unknown Source) at java.util.Scanner.nextInt(U

所以我似乎无法找出程序不断抛出的错误。只有当我从菜单中选择选项2,并且它指示我的错误代码行是第140行时,才会发生这种情况 userChoice=one.nextInt

有什么问题吗?这是错误代码

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)
at TickerReader.main(TickerReader.java:140)
我把代码贴在pastebin上,因为这是一段很长的代码
这是因为没有更多的整数可读。在调用nextInt之前,您应该先检查hasNextInt。

使用扫描仪的nextInt时,最好先检查它是否先有nextInt。

您应该检查是否有更多的整数需要读取hasNextInt应该这样做,您还可以更改switchuserChoice语句的if/else语句

我可以通过

扫描仪2=新的ScannerSystem.in; 二、接近;
并将它们放在if,else if语句之前。

使用hasNext函数。ifscan.hasNext{//读取输入}如果这样做,则需要手动检查下一个输入是否为整数。我想你是在我编辑我的答案时写的。请投票人学会阅读这个问题好吗?这显然不是问题的解决方案,只是一种处理症状的方法。检查hasNextInt有什么错?除非,你所说的解决方案是指为OP编写完整的工作程序?不,我所说的解决方案是指实际解决问题。但这并不是必须的,因为这个问题是重复的。下次请好好研究一下:我们能看看你是如何使用扫描仪的吗