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 相关文章推荐
解决SpringCloud Feign传对象参数调用失败的问题
Jun 23 Java/Android
Java反应式框架Reactor中的Mono和Flux
Jul 25 Java/Android
Sleuth+logback 设置traceid 及自定义信息方式
Jul 26 Java/Android
SpringCloud Feign请求头删除修改的操作代码
Mar 20 Java/Android
Java 超详细讲解数据结构中的堆的应用
Apr 02 Java/Android
Java中的继承、多态以及封装
Apr 11 Java/Android
Java由浅入深通关抽象类与接口(上篇)
Apr 26 Java/Android
Java 数组的使用
May 11 Java/Android
Android studio 简单计算器的编写
May 20 Java/Android
JavaScript正则表达式实现注册信息校验功能
May 30 Java/Android
Spring IOC容器Bean的作用域及生命周期实例
May 30 Java/Android
Java实现添加条码或二维码到Word文档
Jun 01 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中将网页导出为Word文档的代码
2012/05/25 PHP
PHP中func_get_args(),func_get_arg(),func_num_args()的区别
2013/09/30 PHP
php异常处理使用示例
2014/02/25 PHP
学习php设计模式 php实现享元模式(flyweight)
2015/12/07 PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
2018/05/24 PHP
js不是基础的基础
2006/12/24 Javascript
js实现广告漂浮效果的小例子
2013/07/02 Javascript
js AppendChild与insertBefore用法详细对比
2013/12/16 Javascript
扩展jQuery对象时如何扩展成员变量具体怎么实现
2014/04/25 Javascript
js网页右下角提示框实例
2014/10/14 Javascript
浅谈javascript中自定义模版
2015/01/29 Javascript
Javascript动画的实现原理浅析
2015/03/02 Javascript
js HTML5多图片上传及预览实例解析(不含前端的文件分割)
2016/08/26 Javascript
NodeJS遍历文件生产文件列表功能示例
2017/01/22 NodeJs
JavaScript自定义文本框光标
2017/03/05 Javascript
AngularJS ionic手势事件的使用总结
2017/08/09 Javascript
详解各版本React路由的跳转的方法
2018/05/10 Javascript
深入浅析JS中的严格模式
2018/06/04 Javascript
SSM+layUI 根据登录信息显示不同的页面方法
2019/09/20 Javascript
微信小程序自定义菜单切换栏tabbar组件代码实例
2019/12/30 Javascript
Python 序列化 pickle/cPickle模块使用介绍
2014/11/30 Python
Python守护进程(daemon)代码实例
2015/03/06 Python
sublime text 3配置使用python操作方法
2017/06/11 Python
利用Python循环(包括while&amp;for)各种打印九九乘法表的实例
2017/11/06 Python
Python实现PS图像调整之对比度调整功能示例
2018/01/26 Python
python实现多线程网页下载器
2018/04/15 Python
Python 判断奇数偶数的方法
2018/12/20 Python
Python使用pandas对数据进行差分运算的方法
2018/12/22 Python
Django 内置权限扩展案例详解
2019/03/04 Python
python 使用while写猜年龄小游戏过程解析
2019/10/07 Python
关于python3.7安装matplotlib始终无法成功的问题的解决
2020/07/28 Python
迎新生晚会主持词
2015/06/30 职场文书
2016党校学习心得体会
2016/01/07 职场文书
Python机器学习三大件之一numpy
2021/05/10 Python
react 路由Link配置详解
2021/11/11 Javascript
详细介绍python操作RabbitMq
2022/04/12 Python