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 Nio使用NioSocket客户端与服务端交互实现方式
Jun 15 Java/Android
详解java如何集成swagger组件
Jun 21 Java/Android
探讨Java中的深浅拷贝问题
Jun 26 Java/Android
ObjectMapper 如何忽略字段大小写
Jun 29 Java/Android
解决Jenkins集成SonarQube遇到的报错问题
Jul 15 Java/Android
spring注解 @PropertySource配置数据源全流程
Mar 25 Java/Android
Java 垃圾回收超详细讲解记忆集和卡表
Apr 08 Java/Android
Java数组详细介绍及相关工具类
Apr 14 Java/Android
Java工作中实用的代码优化技巧分享
Apr 21 Java/Android
Java实现添加条码或二维码到Word文档
Jun 01 Java/Android
Android移动应用开发指南之六种布局详解
Sep 23 Java/Android
Java Redisson多策略注解限流
Sep 23 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
第二节--PHP5 的对象模型
2006/11/16 PHP
PHP 批量删除数据的方法分析
2009/10/30 PHP
PHP中使用foreach和引用导致程序BUG的问题介绍
2012/09/05 PHP
使用GDB调试PHP代码,解决PHP代码死循环问题
2015/03/02 PHP
PHP中in_array函数使用的问题与解决办法
2016/09/11 PHP
PHP下的浮点运算不准的解决方法
2016/10/27 PHP
PHP中使用OpenSSL生成证书及加密解密
2017/02/05 PHP
php实现数组重复数字统计实例
2018/09/30 PHP
网上抓的一个特效
2007/05/11 Javascript
vue中各组件之间传递数据的方法示例
2017/07/27 Javascript
JS实现点击链接切换显示隐藏内容的方法
2017/10/19 Javascript
微信小程序项目实践之主页tab选项实现
2018/07/18 Javascript
详解Node.js 中使用 ECDSA 签名遇到的坑
2018/11/26 Javascript
生产制造追溯系统之在线打印功能
2019/06/03 Javascript
CKEditor 4.4.1 添加代码高亮显示插件功能教程【使用官方推荐Code Snippet插件】
2019/06/14 Javascript
node.js中事件触发器events的使用方法实例分析
2019/11/23 Javascript
python基础教程之popen函数操作其它程序的输入和输出示例
2014/02/10 Python
Python学习笔记之解析json的方法分析
2017/04/21 Python
python sys,os,time模块的使用(包括时间格式的各种转换)
2018/04/27 Python
python调用Matplotlib绘制分布点并且添加标签
2018/05/31 Python
Flask框架Jinjia模板常用语法总结
2018/07/19 Python
使用TensorFlow实现SVM
2018/09/06 Python
Python实现Dijkstra算法
2018/10/17 Python
python打包成so文件过程解析
2019/09/28 Python
python3.7将代码打包成exe程序并添加图标的方法
2019/10/11 Python
HTML5 embed标签定义和用法详解
2014/05/09 HTML / CSS
瑞典灯具和照明网上商店:Lamp24.se
2018/03/17 全球购物
介绍下static、final、abstract区别
2015/01/30 面试题
自主实习接收函
2014/01/13 职场文书
旷课检讨书大全
2014/01/21 职场文书
2014年法务工作总结
2014/12/11 职场文书
工程部经理岗位职责
2015/02/02 职场文书
运动员入场前导词
2015/07/20 职场文书
教你用Python matplotlib库制作简单的动画
2021/06/11 Python
Spring Boot两种全局配置和两种注解的操作方法
2021/06/29 Java/Android
MySQL面试题讲解之如何设置Hash索引
2021/11/01 MySQL