我正在尝试编写一个游戏,您可以在其中探索和查找资源,但是当我尝试调用“探索类”时,它会运行以下代码:
Scanner scanner = new Scanner(System.in);
int choose;
boolean keep = false;
do{
System.out.println("Who would you like to send to explore?");
System.out.println("=======================================");
System.out.println(" *\t1. Simon *");
System.out.println(" *\t2. Lily *");
System.out.println(" *\t3. Axel *");
System.out.println(" *\t4. Exit Exploring *");
System.out.println("=======================================");
choose = scanner.nextInt();
返回主类并执行以下操作:
System.out.println("===================================");
System.out.println("\t 1. Explore");
System.out.println("\t 2. Use Resources");
System.out.println("\t 3. View Stats");
System.out.println("\t 4. Sleep");
System.out.println("===================================");
option = scanner.nextInt();//where I believe the exception happened
它抛出异常:java.util.NoSuchElementException
我在探索类结束时完成了 scanner.close();
,但我不确定它是否导致了问题。
谁能向我解释一下我的代码中的错误吗?
最佳答案
尝试使用
if(scanner.hasNextInt()){
option = scanner.nextInt();
}
关于java - 调用另一个类时出现 NoSuchElementException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34989707/