起因:在函数中新建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的更多相关文章

  1. Java-Runoob:Java Scanner 类

    ylbtech-Java-Runoob:Java Scanner 类 1.返回顶部 1. Java Scanner 类 java.util.Scanner 是 Java5 的新特征,我们可以通过 Sc ...

  2. java Scanner和异常

    Java Scanner 类 java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入. 下面是创建 Scanner 对象的基本语法: Scann ...

  3. 用 Scanner 扫描CSV文件时报错:“java.util.nosuchelementexception:no line found”的解决方法

    最近用 java 对一个很大的 CSV 文件进行处理.打算用 Scanner 逐行扫描进来,结果报错 "java.util.nosuchelementexception:no line fo ...

  4. 解决:Redis:java.util.NoSuchElementException: Unable to validate object at

    在Java使用Redis的过程中遇见了一个问题, redis.clients.jedis.exceptions.JedisConnectionException: Could not get a re ...

  5. Java学习笔记之Scanner报错java.util.NoSuchElementException

    转载自:IT学习者-螃蟹 一个方法A使用了Scanner,在里面把它关闭了.然后又在方法B里调用方法A之后就不能再用Scanner了Scanner in = new Scanner(System.in ...

  6. Java标准输入流system.in报错: java.util.NoSuchElementException解决方法

    我的程序大概是这样的: main()主函数里面,调用两个自定义的方法,这里我们称之为方法a和方法b: 主函数main()里有一个:Scanner scanner = new Scanner(Syste ...

  7. java.util.NoSuchElementException

    问题引入 Java商店作业不同函数里需要获取用户输入,用Scanner的时候,出现了异常java.util.NoSuchElementException 作业中代码模式如下,func1和func2中都 ...

  8. maven项目新检出后不编译爬坑记 及 mvn clean package报错 WagonTransporterFactory: java.util.NoSuchElementException 异常【我】

    从SVN新检出一个maven项目,配置好后,发现项目无法编译(只有一个test包中的代码显示编译报错,其他所有包中的代码都不编译,也不报错), 先注释掉报错的test包中的所有内容, 用Eclipse ...

  9. java.util.NoSuchElementException错误原因及解决方案

    1.原因:没有控制语句导致的迭代器的越界,使得map中的数据无法传入reduce,从而无法把结果传入目标文件中. 在进行Mapreduce实例——WordCount实验时遇到的错误,开始以为是lib包 ...

随机推荐

  1. FL Studio钢琴卷轴之刷子工具以及其他

    上一篇文章我们重点讲解了FL Studio钢琴卷轴的画笔工具,今天我们就来讲解钢琴卷轴窗口中剩下的工具.由于接下来的工具都很简单,所以我们将放在一起讲,现在就和小编一起来看看FL Studio钢琴卷轴 ...

  2. EasyRecovery——信息时代的“后悔药”

    前几日,小编在豆瓣潜水的时候看到这么一个帖子,说是一对小情侣吵架,女方一气之下把男方的博士论文和资料全删了,求一个办法让男友消气. 站在吃瓜的角度,小编和广大群众看法一致,希望两人直接分手,放男方一条 ...

  3. ABBYY FineReader 15如何比较文档?

    ABBYY FineReader 15 OCR文字识别软件能帮助用户快速地对比两个文档间的差异,适合用于审阅.修改文档,发现新旧版本差异,预防输出错误版本等情况.此功能既能用于对比同一格式文档的不同版 ...

  4. leetcode137. 只出现一次的数字 II

    给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次.找出那个只出现了一次的元素.说明:你的算法应该具有线性时间复杂度. 你可以不使用额外空间来实现吗?示例 1:输入: [2,2 ...

  5. Linux学习进度记录(一)

      一.按系列罗列Linux的发行版,并描述不同版本之间的联系和区别 1. RHEL (RedHat Enterprise Linux):红帽企业版Linux,红帽公司是全球最大的开源技术厂商,RHE ...

  6. Jmeter(三十) - 从入门到精通 - Jmeter Http协议录制脚本工具-Badboy3(详解教程)

    1.简介 Badboy为方便自动化数据灵活性,以及脚本的重用,减少工作量:为此提供了脚本参数化的功能,这一篇文章宏哥以度娘搜索的关键字"北京-宏哥"进行参数化为例,宏哥带领你们实战 ...

  7. 2020.10.17 JZOJ 提高B组T2 导弹拦截

    2020.10.17 JZOJ 提高B组T2 导弹拦截 题目 Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统. 敌国的导弹形成了立体打击,每个导弹可以抽象成一个三维空间中的 ...

  8. day7(vue发送短信)

    1.vue发送短信逻辑 前端函数如下,js方法代码无需更改,前端代码逻辑在components\common\lab_header.vue 只需要修改components\axios_api\http ...

  9. day7(redis的pipline使用)

    1.pipeline原理 redis基本语法:https://www.cnblogs.com/xiaonq/p/7919111.html redis四篇:https://www.cnblogs.com ...

  10. ATT&CK 实战 - 红日安全 vulnstack (一) 环境部署

    靶场描述: 红队实战系列,主要以真实企业环境为实例搭建一系列靶场,通过练习.视频教程.博客三位一体学习.另外本次实战完全模拟ATT&CK攻击链路进行搭建,开成完整闭环.后续也会搭建真实APT实 ...