Resource leak: 'sc' is never closed 是指编程过程中命名的“sc”这个Scanner对象没有关闭。
(一般不会造成代码无法运行,但会增加运行需要的内存)
解决方法:
在设置输入内容的代码下一行输入 sc.close;
注: “sc”是在Scanner实例化中对象的命名。
例如 Scanner b=new Scannner(System.in); 则输入 b.close;进行“b”这个Scanner对象的关闭。
问题解决
为什么需要关闭这个所谓的Scanner对象呢?
关闭Scanner是因为System.in在被第一次声明时会打开InputStream(指输入流)。
注:上文第一次声明指的是Scanner sc=new Scanner(System.in);
输入流可以简单理解为java编程中机器读取的输入内容。
输入流在运行代码过程中非常占据内存,打开输入流后,机器为随时读取输入内容,一直占用部分内存。
为了节省运行内存,调用Scanner.close ()来关闭输入流,致使节省内存。