java中单独定义int=0;提示sc从未被关闭,但是将int i=0写在for循环里就没有警告了,这是为什么?(下面第一段就是有警告,第二段没有)
第一段:
Scanner sc = new Scanner(System.in);
System.out.print("请输入五个数组元素:");
int[] a = new int [5];
int i=0;
for(i=0;ifor(int v: a)
System.out.print(v+" ");
sc.close();
第二段:
Scanner sc = new Scanner(System.in);
System.out.print("请输入五个数组元素:");
int[] a = new int [5];
for(int i=0;ifor(int v: a)
System.out.print(v+" ");
sc.close();
提示sc从未被关闭
如上
如上
eclipse运行第一段代码也完全没问题,出现这个提示的原因是,eclipse判断你的sc.close()没有被执行。你看一下你在运行工程的时候是否已经有工程在运行了,或者把eclipse关闭后重启一下试试。还有就是检查一下变量,看看是否会导致for(i=0;i<a.length;i++)这里的for循环成为死循环。
你用什么编辑器,我这边试了没警告提示。
没啥道理啊,你重新开一个工程,用第二段代码编译看看。有时候警告在第一次编译给出后,后续再编译就不一定提示了,除非完全重新编译