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各种比较对象的方式的对比总结
Jun 20 Java/Android
springBoot基于webSocket实现扫码登录
Jun 22 Java/Android
分析设计模式之模板方法Java实现
Jun 23 Java/Android
详解Java线程池是如何重复利用空闲线程的
Jun 26 Java/Android
springboot拦截器无法注入redisTemplate的解决方法
Jun 27 Java/Android
浅谈Java父子类加载顺序
Aug 04 Java/Android
简述Java中throw-throws异常抛出
Aug 07 Java/Android
java调用Restful接口的三种方法
Aug 23 Java/Android
SpringBoot2零基础到精通之数据库专项精讲
Mar 22 Java/Android
Spring Cloud Netflix 套件中的负载均衡组件 Ribbon
Apr 13 Java/Android
java版 简单三子棋游戏
May 04 Java/Android
java版 联机五子棋游戏
May 04 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
E路文章系统PHP
2006/12/11 PHP
利用discuz实现PHP大文件上传应用实例代码
2008/11/14 PHP
smarty中js的调用方法示例
2014/10/27 PHP
PHP数学运算函数大汇总(经典值得收藏)
2016/04/01 PHP
JS控制显示隐藏兼容问题(IE6、IE7、IE8)
2010/04/01 Javascript
为jQuery增加join方法的实现代码
2010/11/28 Javascript
JS获取各种浏览器窗口大小的方法
2014/01/14 Javascript
JQuery中attr属性和jQuery.data()学习笔记【必看】
2016/05/18 Javascript
jquery日历插件e-calendar升级版
2016/11/10 Javascript
nodejs的路径问题的解决
2018/06/30 NodeJs
javascript和php使用ajax通信传递JSON的实例
2018/08/21 Javascript
微信小程序使用gitee进行版本管理
2018/09/20 Javascript
js实现简单五子棋游戏
2020/05/28 Javascript
WebStorm中如何将自己的代码上传到github示例详解
2020/10/28 Javascript
微信小程序onShareTimeline()实现分享朋友圈
2021/01/07 Javascript
Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
2008/09/06 Python
python获得图片base64编码示例
2014/01/16 Python
Python enumerate索引迭代代码解析
2018/01/19 Python
在Pycharm中执行scrapy命令的方法
2019/01/16 Python
Python中三元表达式的几种写法介绍
2019/03/04 Python
对Python中TKinter模块中的Label组件实例详解
2019/06/14 Python
python 函数中的内置函数及用法详解
2019/07/02 Python
Django使用Jinja2模板引擎的示例代码
2019/08/09 Python
python 创建一维的0向量实例
2019/12/02 Python
基于Python3.6中的OpenCV实现图片色彩空间的转换
2020/02/03 Python
python集合删除多种方法详解
2020/02/10 Python
天猫超市:阿里巴巴打造的网上超市
2016/11/02 全球购物
FLIR美国官网:热成像, 夜视和红外摄像系统
2018/07/13 全球购物
俄罗斯化妆品和香水网上商店:Iledebeaute
2019/01/03 全球购物
.NET面试10题
2014/02/24 面试题
教师考核材料
2014/05/21 职场文书
给老婆的检讨书(搞笑版)
2015/05/06 职场文书
扩展多台相同的Web服务器
2021/04/01 Servers
Canvas三种动态画圆实现方法说明(小结)
2021/04/16 Javascript
Go Plugins插件的实现方式
2021/08/07 Golang
Oracle查看表空间使用率以及爆满解决方案详解
2022/07/23 Oracle