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 相关文章推荐
解决SpringBoot跨域的三种方式
Jun 26 Java/Android
总结Java对象被序列化的两种方法
Jun 30 Java/Android
Java Socket实现多人聊天系统
Jul 15 Java/Android
详解Java七大阻塞队列之SynchronousQueue
Sep 04 Java/Android
mapstruct的用法之qualifiedByName示例详解
Apr 06 Java/Android
详细介绍Java中的CyclicBarrier
Apr 13 Java/Android
Spring Boot接口定义和全局异常统一处理
Apr 20 Java/Android
Android开发 使用文件储存的方式保存QQ密码
Apr 24 Java/Android
Android使用EventBus发送消息,Fragment中接收消息的方法会执行多次
Apr 24 Java/Android
Jmerte 分布式压测及分布式压测配置
Apr 30 Java/Android
springboot读取nacos配置文件
May 20 Java/Android
HttpClient实现表单提交上传文件
Aug 14 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
javascript实现的动态文字变换
2007/07/28 Javascript
用js解决数字不能换行问题
2010/08/10 Javascript
js异常捕获方法介绍
2013/04/10 Javascript
让元素在网页中可拖动示例代码
2013/08/13 Javascript
jQuery中fadeOut()方法用法实例
2014/12/24 Javascript
jquery增加和删除元素的方法
2015/01/14 Javascript
jQuery通过控制节点实现仅在前台通过get方法完成参数传递
2015/02/02 Javascript
jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象
2016/01/23 Javascript
全面了解JavaScript的数据类型转换
2016/07/01 Javascript
JavaScript实现的微信二维码图片生成器的示例
2016/10/26 Javascript
JS实现DIV高度自适应窗口示例
2017/02/16 Javascript
JavaScript标准对象_动力节点Java学院整理
2017/06/27 Javascript
vue element upload组件 file-list的动态绑定实现
2019/10/11 Javascript
[01:14]英雄,所敬略同——2018完美盛典宣传视频
2018/12/05 DOTA
进一步探究Python的装饰器的运用
2015/05/05 Python
Python import用法以及与from...import的区别
2015/05/28 Python
Python 正则表达式入门(初级篇)
2016/12/07 Python
python中文分词教程之前向最大正向匹配算法详解
2017/11/02 Python
python用户管理系统的实例讲解
2017/12/23 Python
梅尔频率倒谱系数(mfcc)及Python实现
2019/06/18 Python
python字符串Intern机制详解
2019/07/01 Python
python递归调用中的坑:打印有值, 返回却None
2020/03/16 Python
Python爬虫之爬取淘女郎照片示例详解
2020/07/28 Python
纯CSS实现颜色渐变效果(包含环形渐变、线性渐变、彩虹效果等)
2014/05/07 HTML / CSS
css sprite简单实例
2016/05/23 HTML / CSS
39美元购买一副眼镜或太阳镜:39DollarGlasses.com
2018/06/17 全球购物
构造方法和其他方法的区别
2016/04/26 面试题
金融专业应届生求职信
2013/11/02 职场文书
工程测量与监理专业应届生求职信
2013/11/27 职场文书
应届电子商务毕业自荐书范文
2014/02/11 职场文书
《中国梦我的梦》中学生演讲稿
2014/08/20 职场文书
房屋财产继承协议书范本
2014/11/03 职场文书
小学生作文评语集锦
2014/12/25 职场文书
会计专业自荐信范文
2019/05/22 职场文书
Python实现日志实时监测的示例详解
2022/04/06 Python