Java 资源泄漏未关闭
Java resource leak not closed
我正在编写一个程序,我希望控制台输出用户输入数字的剩余部分。但是,每次我编译代码时,控制台都会打印出来,并且出现以下控制台错误:
1 problem (1 warning)
Compiler is using classPath = '[C:\Users\Darien Springer\Documents\Java, C:\Users\Darien Springer\Desktop\drjava-beta-20160913-225446.exe]'; bootClassPath = 'null'
----------
1. WARNING in C:\Users\Darien Springer\Documents\Java\PrintDigits.java (at line 5)
Scanner scnr= new Scanner(System.in);
^^^^
Resource leak: 'scnr' is never closed
----------
1 problem (1 warning)
我不确定 "resource leak" 控制台的含义。我在几个不同的地方(包括 API 和其他 Stack Overflow 问题)进行了查找,我不确定为什么没有任何内容打印到控制台。我正在使用程序 DrJava 以防万一有人想知道。
这是我的代码供参考:
import java.util.Scanner;
public class PrintDigits {
public static void main(String [] args) {
Scanner scnr= new Scanner(System.in);
int userInput = 0;
int positiveInt = 0;
System.out.println("enter a positive integer:");
userInput = scnr.nextInt();
positiveInt = userInput % 10;
System.out.println(positiveInt);
return;
}
}
该警告只是说您永远不要在代码中的任何地方调用 scnr.close();
。要让它消失,只需在使用完扫描仪后致电 scnr.close();
。
import java.util.Scanner;
public class PrintDigits {
public static void main(String [] args) {
Scanner scnr= new Scanner(System.in);
int userInput = 0;
int positiveInt = 0;
System.out.println("enter a positive integer:");
userInput = scnr.nextInt();
positiveInt = userInput % 10;
System.out.println(positiveInt);
scnr.close();
return;
}
}
我正在编写一个程序,我希望控制台输出用户输入数字的剩余部分。但是,每次我编译代码时,控制台都会打印出来,并且出现以下控制台错误:
1 problem (1 warning)
Compiler is using classPath = '[C:\Users\Darien Springer\Documents\Java, C:\Users\Darien Springer\Desktop\drjava-beta-20160913-225446.exe]'; bootClassPath = 'null'
----------
1. WARNING in C:\Users\Darien Springer\Documents\Java\PrintDigits.java (at line 5)
Scanner scnr= new Scanner(System.in);
^^^^
Resource leak: 'scnr' is never closed
----------
1 problem (1 warning)
我不确定 "resource leak" 控制台的含义。我在几个不同的地方(包括 API 和其他 Stack Overflow 问题)进行了查找,我不确定为什么没有任何内容打印到控制台。我正在使用程序 DrJava 以防万一有人想知道。
这是我的代码供参考:
import java.util.Scanner;
public class PrintDigits {
public static void main(String [] args) {
Scanner scnr= new Scanner(System.in);
int userInput = 0;
int positiveInt = 0;
System.out.println("enter a positive integer:");
userInput = scnr.nextInt();
positiveInt = userInput % 10;
System.out.println(positiveInt);
return;
}
}
该警告只是说您永远不要在代码中的任何地方调用 scnr.close();
。要让它消失,只需在使用完扫描仪后致电 scnr.close();
。
import java.util.Scanner;
public class PrintDigits {
public static void main(String [] args) {
Scanner scnr= new Scanner(System.in);
int userInput = 0;
int positiveInt = 0;
System.out.println("enter a positive integer:");
userInput = scnr.nextInt();
positiveInt = userInput % 10;
System.out.println(positiveInt);
scnr.close();
return;
}
}