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 26 Java/Android
Spring Boot 实现敏感词及特殊字符过滤处理
Jun 29 Java/Android
Java基础之线程锁相关知识总结
Jun 30 Java/Android
Java 语言中Object 类和System 类详解
Jul 07 Java/Android
Mybatis是这样防止sql注入的
Dec 06 Java/Android
JavaCV实现照片马赛克效果
Jan 22 Java/Android
alibaba seata服务端具体实现
Feb 24 Java/Android
Java生成日期时间存入Mysql数据库的实现方法
Mar 03 Java/Android
Java9新特性对HTTP2协议支持与非阻塞HTTP API
Mar 16 Java/Android
Spring Data JPA框架的核心概念和Repository接口
Apr 28 Java/Android
Mybatis-plus配置分页插件返回统一结果集
Jun 21 Java/Android
SpringBoot接入钉钉自定义机器人预警通知
Jul 15 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中try catch捕获异常实例详解
2014/11/21 PHP
php针对cookie操作的队列操作类实例
2014/12/10 PHP
ubuntu下配置nginx+php+mysql详解
2015/09/10 PHP
PHP获取当前时间不准确问题解决方案
2020/08/14 PHP
jQuery 点击图片跳转上一张或下一张功能的实现代码
2010/03/12 Javascript
javascript 单例/单体模式(Singleton)
2011/04/07 Javascript
不同的jQuery API来处理不同的浏览器事件
2012/12/09 Javascript
使用JS 清空File控件的路径值
2013/07/08 Javascript
js实现单行文本向上滚动效果实例代码
2013/11/28 Javascript
JavaScript也谈内存优化
2014/06/06 Javascript
json属性名为什么要双引号(个人猜测)
2014/07/31 Javascript
js+html5实现可在手机上玩的拼图游戏
2015/07/17 Javascript
基于javascript实现单选及多选的向右和向左移动实例
2015/07/25 Javascript
JS中setTimeout和setInterval的最大延时值详解
2017/02/13 Javascript
JS仿淘宝搜索框用户输入事件的实现
2017/06/19 Javascript
VUE前端cookie简单操作
2017/10/17 Javascript
JS实现的JSON数组去重算法示例
2018/04/11 Javascript
小程序云开发实现数据库异步操作同步化
2019/05/18 Javascript
js 判断当前时间是否处于某个一个时间段内
2019/09/19 Javascript
[01:02:53]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第二局
2016/03/06 DOTA
[47:52]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第二场 11.26
2020/11/30 DOTA
部署Python的框架下的web app的详细教程
2015/04/30 Python
Python函数式编程指南(三):迭代器详解
2015/06/24 Python
python画图——实现在图上标注上具体数值的方法
2019/07/08 Python
IronPython连接MySQL的方法步骤
2019/12/27 Python
Python模块future用法原理详解
2020/01/20 Python
简单了解python调用其他脚本方法实例
2020/03/26 Python
python绘制趋势图的示例
2020/09/17 Python
意大利专业化妆品品牌:KIKO MILANO
2017/02/01 全球购物
英国在线房屋中介网站:Yopa
2018/01/09 全球购物
英国设计师泳装、沙滩装和比基尼在线精品店:Beach Cafe
2019/08/28 全球购物
函授本科自我鉴定
2014/02/04 职场文书
检举信的格式及范文
2014/04/04 职场文书
QQ空间主人寄语大全
2014/04/12 职场文书
大学生活动总结模板
2014/07/02 职场文书
2014年英语教研组工作总结
2014/12/06 职场文书