智慧男孩永不秃头
2021-08-10 17:12
采纳率: 100%
浏览 41
已结题

已经有了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 不懂为啥非常菜

  • 收藏

3条回答 默认 最新

  • CSDN专家-sinjack 2021-08-10 17:15
    已采纳

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

    1 打赏 评论
  • 半道道 2021-08-10 17:16

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

    打赏 评论
  • aaaa0ggMC 2021-08-10 17:16

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

    打赏 评论

相关推荐 更多相似问题