Scanner的关闭问题

Scanner的关闭问题

使用键盘输入数据代码

Scanner sc = new Scanner(System.in);

后通常会使用

sc.close();

关闭,但我在方法中使用并关闭后,会在第二次循环中从键盘接收数据报错,请问正确的使用方法是?


相关截图:

http://img1.sycdn.imooc.com//climg/6047349b09f2146f08470800.jpg


http://img1.sycdn.imooc.com//climg/604734d1095a616207670530.jpg


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,NoSuchElementException异常是没有元素可以迭代异常。这里建议只在主方法最后保留一个sc.close();其他都删掉,因为Scanner比较特别,一旦被关闭,其他方法中的Scanner也没办法使用了,参考如下:

http://img1.sycdn.imooc.com//climg/60474538097d67fc04760159.jpg

祝学习愉快~

好帮手慕阿园 2021-03-09 17:51:01

同学你好,Scanner对象未关闭并不会影响程序运行的;不关闭Scanner的使用范围是整个流程中;如果关闭了Scanner,只能在关闭前使用该对象,所以一般是不关闭Scanner对象的。如果一定要关,建议在整个程序或者方法结束时再关掉

祝学习愉快~


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师