无法在方法内关闭扫描仪?非静态方法Close()

时间:2018-06-29 23:06:34

标签: java compiler-errors java.util.scanner

我认为这是一个非常简单的问题,但这是我在过去几个月中多次遇到的问题。我在一个方法中创建了一个扫描仪,然后尝试将其关闭,但它总是给我一个错误。这次错误是:

错误:无法从静态上下文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();
}

现在我读到这是因为我试图从静态方法中调用扫描程序类吗?所以扫描仪看不到扫描仪类?如果是这样,将来我该如何正确处理这样的事情?我应该在创建扫描器类的方法中导入扫描器类,还是需要做其他事情?

谢谢

1 个答案:

答案 0 :(得分:2)

应为input.close(),而不是Scanner.close()