我认为这是一个非常简单的问题,但这是我在过去几个月中多次遇到的问题。我在一个方法中创建了一个扫描仪,然后尝试将其关闭,但它总是给我一个错误。这次错误是:
错误:无法从静态上下文Scanner.close();引用非静态方法close();
public static void readArray(char[] arr){
String myMessage;
System.out.print("Input Message: ");
Scanner input = new Scanner(System.in);
myMessage = input.nextLine();// Read a line of message
for(int i = 0; i < myMessage.length(); i++){
arr[i] = myMessage.charAt(i);
}
Scanner.close();
}
现在我读到这是因为我试图从静态方法中调用扫描程序类吗?所以扫描仪看不到扫描仪类?如果是这样,将来我该如何正确处理这样的事情?我应该在创建扫描器类的方法中导入扫描器类,还是需要做其他事情?
谢谢
答案 0 :(得分:2)
应为input.close()
,而不是Scanner.close()
。