1-解决java Scanner出现 java.util.NoSuchElementException
起因:在函数中新建scanner对象,然后多次调用此方法出现上述异常
原因:Scanner(system.in)在Scanner中接受的是键盘 输入,当调用close()方法时
Scanner的关闭会导致System.in的关闭,System.in是标准输入(键盘输入),只能关一次,关闭后不能再打开。
解决办法1:在主函数的声明,然后作为参数传入方法中
解决办法2:
查看scanner源码
// Boolean indicating if this scanner has been closed
private boolean closed = false; public void close() {
if (closed)
return;
if (source instanceof Closeable) {
try {
((Closeable)source).close();//将会关闭流
} catch (IOException ioe) {
lastException = ioe;
}
}
sourceClosed = true;
source = null;
closed = true;
}
直接在函数中用反射改变closed的值,实现永远不关闭
public void scanner() throws NoSuchFieldException, IllegalAccessException, InstantiationException {
Scanner my=new Scanner(System.in); a=my.nextInt();
b=my.nextInt();
c=my.nextInt();
Class clazz =Scanner.class;
Field field = clazz.getDeclaredField("closed");
field.setAccessible(true);
field.set(my,true);
my.close();
}
当想要关闭的时候,再使用反射改变为false,调用scanner.close();
1-解决java Scanner出现 java.util.NoSuchElementException的更多相关文章
- Java-Runoob:Java Scanner 类
ylbtech-Java-Runoob:Java Scanner 类 1.返回顶部 1. Java Scanner 类 java.util.Scanner 是 Java5 的新特征,我们可以通过 Sc ...
- java Scanner和异常
Java Scanner 类 java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入. 下面是创建 Scanner 对象的基本语法: Scann ...
- 用 Scanner 扫描CSV文件时报错:“java.util.nosuchelementexception:no line found”的解决方法
最近用 java 对一个很大的 CSV 文件进行处理.打算用 Scanner 逐行扫描进来,结果报错 "java.util.nosuchelementexception:no line fo ...
- 解决:Redis:java.util.NoSuchElementException: Unable to validate object at
在Java使用Redis的过程中遇见了一个问题, redis.clients.jedis.exceptions.JedisConnectionException: Could not get a re ...
- Java学习笔记之Scanner报错java.util.NoSuchElementException
转载自:IT学习者-螃蟹 一个方法A使用了Scanner,在里面把它关闭了.然后又在方法B里调用方法A之后就不能再用Scanner了Scanner in = new Scanner(System.in ...
- Java标准输入流system.in报错: java.util.NoSuchElementException解决方法
我的程序大概是这样的: main()主函数里面,调用两个自定义的方法,这里我们称之为方法a和方法b: 主函数main()里有一个:Scanner scanner = new Scanner(Syste ...
- java.util.NoSuchElementException
问题引入 Java商店作业不同函数里需要获取用户输入,用Scanner的时候,出现了异常java.util.NoSuchElementException 作业中代码模式如下,func1和func2中都 ...
- maven项目新检出后不编译爬坑记 及 mvn clean package报错 WagonTransporterFactory: java.util.NoSuchElementException 异常【我】
从SVN新检出一个maven项目,配置好后,发现项目无法编译(只有一个test包中的代码显示编译报错,其他所有包中的代码都不编译,也不报错), 先注释掉报错的test包中的所有内容, 用Eclipse ...
- java.util.NoSuchElementException错误原因及解决方案
1.原因:没有控制语句导致的迭代器的越界,使得map中的数据无法传入reduce,从而无法把结果传入目标文件中. 在进行Mapreduce实例——WordCount实验时遇到的错误,开始以为是lib包 ...
随机推荐
- 如何用Vegas完成视频编辑中的自动跟踪换图
Vegas作为一款专业的视频剪辑软件,剪辑速度快捷,拥有各种实用工具和特效,同样也可以为用户实现视频换图的需求.今天小编就为大家讲解,如何利用Vegas自动跟踪进行换图,让视频能够更加便捷的呈现. 本 ...
- Java集合【6】-- Collection和Collections的区别
刚开始学java的时候,分不清Collection和Collections,其实这两个东西是完全不一样的东西. Collection是一个接口,是java集合中的顶级接口之一,衍生出了java集合的庞 ...
- 你知道第一个C语言C++编译器是如何诞生的吗?
当今几乎所有的实用的编译器/解释器(以下统称编译器)都是用 C 语言编写的,有一些语言比如 Clojure,Jython 等是基于 JVM 或者说是用 Java 实现的,IronPython 等是基于 ...
- dubbo协议之编码请求对象体
上节我们看了如何编码请求头,这节一起看下过程中,对请求对象的编码,涉及对接口,方法,方法参数类型,方法参数进行编码,DubboCodec中重写了这个方法: request.getData向下转型成Rp ...
- 五. Webpack详解
1. 什么是Webpack 1.1 引入 什么是webpack?这个webpack还真不是一两句话可以说清楚的. 我们先看看官方的解释:At its core, webpack is a static ...
- 20200315_python3.6去除标点符号
line = "python3.6下进行去!@#$%^&*()除标点测试,:!大家好,:!&>啥都不是!@#¥%--&*(-.||" # python ...
- ModelViewSet里的过滤、排序、分页、序列化设置
1.DRF初始化 1.认证 2.权限 3.限流 4.序列化 5.分页 6.版本 7.过滤 8.排序 1.1安装DjangoRestFramework pip install djangoresfra ...
- day7(vue发送短信)
1.vue发送短信逻辑 前端函数如下,js方法代码无需更改,前端代码逻辑在components\common\lab_header.vue 只需要修改components\axios_api\http ...
- Python+moviepy使用manual_tracking和headblur函数10行代码实现视频人脸追踪打马赛克
☞ ░ 前往老猿Python博文目录 ░ 一.背景知识 1.1.headblur简介 追踪人脸打马赛克需要使用headblur函数. 调用语法: headblur(clip,fx,fy,r_zone, ...
- PyQt(Python+Qt)学习随笔:QListView的uniformItemSizes属性
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 QListView的uniformItemSizes属性用于控制视图中所有项是否具有相同大小,只有在 ...