Question 1: Java调用Scanner类对象时警告Resource leak: 'sc' is never closed
Answer : 提示翻译为:资源泄露 sc没有关闭(其中sc为Scanner类的对象)
出现这个警告的原因是因为创建了一个Scanner类对象sc
sc一直在调用System.in输入流一直在占用资源没有得到释放
可以在调用Scanner类对象sc后使用sc.close();来释放资源
这样就不会再有警告Resource leak: 'sc' is never closed
Question 2: 多次调用Scanner类对象的close()方法报错
Answer : 在该Scanner类中调用的是System.in输入流进行输入
而其调用后一直在占用资源,创建一个和多个Scanner类对象没什么区别
但Scanner类对象的关闭方法close()只能调用一次,调用后会关闭输入流
在调用close()方法后即使再创建Scanner对象也无法使用System.in输入流,使用后会报错
故应谨慎使用Scanner类对象的close()方法,仅应在System.in输入流使用结束后再调用close()方法