Scanner 中 nextInt() 的错误处理
尝试使用 Scanner.nextInt() 检索整数时,用户偶尔会遇到错误:
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)
当输入流不包含 nextInt() 的整数时,会出现此错误阅读。解决此问题的一种方法是使用 hasNexInt()。此函数在尝试读取整数之前验证它是否存在。
Scanner s = new Scanner(System.in); int choice = 0; if(s.hasNextInt()) { choice = s.nextInt(); } s.close();
此修改确保仅当有整数可供读取时才调用 nextInt(),从而防止错误。此外,完成后关闭扫描仪以释放系统资源是一个很好的做法。
以上是使用 Scanner.nextInt() 时如何防止出现'java.util.NoSuchElementException”?的详细内容。更多信息请关注PHP中文网其他相关文章!