已经有了sc.close还是会有警告neverclosed?


import java.util.Scanner;


public class Helloworld {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int i;
        int num1 = 1;
        int num2 = 1;
        System.out.print("请输入要查询的第几个数:");

        int n = sc.nextInt();
        for (i = 1; i < n - 1; i++) {
            int temp;
            temp = num1;
            num1 = num2 + temp;
            num2 = temp;
        }
        System.out.println(num1);
        sc.close();
    }
}
显示警告:
Resource leak: 'sc' is never closed    

才学java 不懂为啥非常菜

Resource leak: 'sc' is never closed
这个提醒每次都有吗,我运行你的代码,就没这种问题。

sc.close(); 方法finally{} 中,一定程度保证会执行到。按照现在的写法,如果在代码执行过程中存在异常,其实是不会执行到sc.close();这条语句。

Scanner不需要close呀,用了可以不用管的,因为System.in时刻保持打开指导程序结束