java.util.NoSuchElementException原因及两种解决方法


Posted in Java/Android onJune 28, 2022

java输入流报错:

Exception in thread "main" java.util.NoSuchElementException
    at java.base/java.util.Scanner.throwFor(Unknown Source)
    at java.base/java.util.Scanner.next(Unknown Source)
    at java.base/java.util.Scanner.nextInt(Unknown Source)
    at java.base/java.util.Scanner.nextInt(Unknown Source)

原因分析:

1、可能是因为迭代器多用了一次,指向空!

例如:

Scanner iter=new Scanner(System.in);
while(iter.hasNext()) {
    ArrayList<SprintUserStory> undoneUserStoriesList = SprintUtil.getUndoneUserStoriesList(iter.next().getID(),iter.next().getPkey()); 
    if(undoneUserStoriesList.size() >0){
        willdonefeautre--;
     }
}

分析:第二次使用 iter.next() 时,游标已经指向下一个位置了,中间多出来一个空值!

2、在函数中,声明了一个 scanner 对象,并且调用了 close 方法,再次启动 scanner 的时候(或者在另一个函数中重新启动 scanner 时),就会遇到异常!

解决方法:

1、类如原因一的可以这样解决,把 iter.next() 赋给一个中间变量:

Scanner iter=new Scanner(System.in);
while (iter.hasNext()) {
    JIRAFeature jirafeaturetemp = iter.next();
    ArrayList<SprintUserStory> undoneUserStoriesList = SprintUtil.getUndoneUserStoriesList(jirafeaturetemp.getID(),jirafeaturetemp.getPkey());
     if(undoneUserStoriesList.size() >0){
        willdonefeautre--;
     }
}

2、类如原因二的可以这样解决:

使用多次Scanner get=new Scanner(System.in); 但是只在最后使用 iter.close() 函数;
或者将Scanner get=new Scanner(System.in); 放在所有函数外层,同时在前面加上static修饰符,并且只在最后使用 iter.close() 函数!

到此这篇关于java.util.NoSuchElementException原因及两种解决方法的文章就介绍到这了,更多相关java.util.NoSuchElementException报错内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Java/Android 相关文章推荐
Java框架入门之简单介绍SpringBoot框架
Jun 18 Java/Android
springcloud之Feign超时问题的解决
Jun 24 Java/Android
Spring mvc是如何实现与数据库的前后端的连接操作的?
Jun 30 Java/Android
Java中多线程下载图片并压缩能提高效率吗
Jul 01 Java/Android
JAVA API 实用类 String详解
Oct 05 Java/Android
Java tomcat手动配置servlet详解
Nov 27 Java/Android
使用HttpSessionListener监听器实战
Mar 17 Java/Android
Spring Boot DevTools 全局配置学习指南
Mar 31 Java/Android
零基础学java之带参数以及返回值的方法
Apr 10 Java/Android
Android 界面一键变灰 深色主题工具类
Apr 28 Java/Android
Spring Cloud OpenFeign模版化客户端
Jun 25 Java/Android
一文了解Java动态代理的原理及实现
Jul 07 Java/Android
Java实现HTML转为Word的示例代码
Jun 28 #Java/Android
Android实现图片九宫格
springboot 全局异常处理和统一响应对象的处理方式
Jun 28 #Java/Android
详解Spring Security如何在权限中使用通配符
Jun 28 #Java/Android
Android RecyclerView实现九宫格效果
Jun 28 #Java/Android
Java 多线程并发FutureTask
Java+swing实现抖音上的表白程序详解
Jun 25 #Java/Android
You might like
PHP获取本周第一天和最后一天示例代码
2014/02/24 PHP
PHP使用json_encode函数时不转义中文的解决方法
2014/11/12 PHP
使用php的HTTP请求的库Requests实现美女图片墙
2015/02/22 PHP
PHP设计模式之装饰者模式代码实例
2015/05/11 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
2018/03/31 PHP
js 禁用浏览器的后退功能的简单方法
2008/12/10 Javascript
jQuery TextBox自动完成条
2009/07/22 Javascript
jquery中的$(document).ready()与window.onload的区别
2009/11/18 Javascript
jquery 提示信息显示后自动消失的具体实现
2013/12/18 Javascript
javascript基于DOM实现省市级联下拉框的方法
2015/05/14 Javascript
jQuery实现判断滚动条到底部
2015/06/23 Javascript
jquery validate表单验证的基本用法入门
2016/01/18 Javascript
js表单登陆验证示例
2016/10/19 Javascript
vue2.0构建单页应用最佳实战
2017/04/01 Javascript
vue打包相关细节整理(小结)
2018/09/28 Javascript
微信小程序实现的日期午别医生排班表功能示例
2019/01/09 Javascript
ES6知识点整理之Proxy的应用实例详解
2019/04/16 Javascript
bootstrap table插件动态加载表头
2019/07/19 Javascript
layui表格 列自动适应大小失效的解决方法
2019/09/06 Javascript
微信小程序商品详情页底部弹出框
2019/11/22 Javascript
js获取url页面id,也就是最后的数字文件名
2020/09/25 Javascript
利用 Chrome Dev Tools 进行页面性能分析的步骤说明(前端性能优化)
2021/02/24 Javascript
python 表达式和语句及for、while循环练习实例
2017/07/07 Python
python 如何在测试中使用 Mock
2021/03/01 Python
英国家用电器折扣网站:Electrical Discount UK
2018/09/17 全球购物
世界领先的豪华床上用品供应商之一:Bedeck Home
2019/03/18 全球购物
Elemental Herbology官网:英国美容品牌
2019/04/27 全球购物
adidas爱尔兰官方网站:阿迪达斯运动鞋和运动服
2019/11/01 全球购物
应届大专毕业生自我鉴定
2014/04/08 职场文书
委托书怎么写
2014/07/31 职场文书
办护照工作证明
2014/10/01 职场文书
会计求职自荐信范文
2015/03/04 职场文书
四年级作文之说明文作文
2019/10/14 职场文书
alibaba seata服务端具体实现
2022/02/24 Java/Android
Linux系统下MySQL配置主从分离的步骤
2022/03/21 MySQL
windows10声卡驱动怎么安装?win10声卡驱动安装操作步骤教程
2022/08/05 数码科技