初学,碰到一个问题Resource leak: 'sc' is never closed

图片说明
,我在后面都加了一个close了.居然没有作用。要改成提示的(内联局部变量)才不会警告,虽然不影响程序运行,但是为什么会这样呢,我都加了close了。这个for循环里面使用的方法错误了么,不太懂Scanner的具体用法图片说明
有这个for循环存在就还是警告, 除非在for之前关闭, 不然就还是无法关闭。不是很懂这个循环。是我的eclipse有问题么

在循环里面new一个对象,这个对象关闭必须在循环内关闭。在循环外再new一个来关闭,关闭的并非是循环内创建的对象,肯定会报错。先把java对象和生命周期相关基础知识了解清楚

应该是系统错判,认为你的循环有死循环的可能,所以最后的sc.close()无法到达。但是你的代码本身没有问题。