Java 警告:资源泄漏:';键盘';这家店从不关门
[第9行]警告:资源泄漏:“键盘”从未关闭 这就是我收到的警告。我不认为消息来源真的被泄露了。Java 警告:资源泄漏:';键盘';这家店从不关门,java,Java,[第9行]警告:资源泄漏:“键盘”从未关闭 这就是我收到的警告。我不认为消息来源真的被泄露了。 但是我不知道如何把它取下来,这样我就可以编译代码了。你需要关闭键盘扫描仪。 keyboard.close()忽略该警告是安全的,我永远不会close()一个正在包装全局系统的扫描仪。在中,您使用以下命令打开了键盘: import java.util.Scanner; public class LetterGrade { public static void main(String[] args)
但是我不知道如何把它取下来,这样我就可以编译代码了。你需要关闭键盘扫描仪。
keyboard.close()
忽略该警告是安全的,我永远不会close()
一个正在包装全局系统的扫描仪。在中,您使用以下命令打开了键盘:
import java.util.Scanner;
public class LetterGrade {
public static void main(String[] args) {
char grade;
String input;
Scanner keyboard = new Scanner(System.in);
System.out.println("Enter grade awarded");
input = keyboard.nextLine();
grade = input.charAt(0);
switch (grade) {
case 'A':
System.out.println("Grade was between 89.5 and 100");
break;
case 'B':
System.out.println("Grade was between 79.5 and 89.49");
break;
case 'C':
System.out.println("Grade was between 69.5 and 79.49");
break;
case 'D':
System.out.println("Grade was between 59.5 and 69.49");
break;
case 'F':
System.out.println("Grade was below 59.5");
break;
default:
System.out.println("Invalid grade inputted");
break;
}
}
}
当不再需要键盘输入时,需要使用keyboard.close()
方法将其关闭。在哪里添加?我在代码末尾添加了它,得到了一个新错误。当您不再使用它时,即在switch语句之后。@AjayP:将它放在输入
赋值之后或开关
块之后。请确认SCOPE的有用性。出于好奇,为什么您永远不会关闭它?@Abbath因为一旦关闭了System.in
,您需要重新启动程序才能再次打开它。如果在exit()
之前立即close()
,这没关系,但如果将其提取到一个方法中,当程序神秘地停止接受输入时,可能会给您带来各种痛苦。
Scanner keyboard = new Scanner(System.in);