У меня есть проблема с доступом к методу, содержащему класс сканера, более одного раза, когда переменная закрыта.
Когда я обращаюсь к методу, содержащему класс сканера более одного раза (с переменной класса сканера, закрытой каждый раз в конце метода), я сталкиваюсь с проблемой. Вот фрагмент кода, с которым у меня возникли проблемы: все, что я пытаюсь сделать, это вернуть строку и сохранить ее в локальной переменной в Main().
public static String setName() { System.out.println("Type in a person's name: "); Scanner scanName = new Scanner(System.in); String perName = scanName.nextLine(); scanName.close(); return perName; } public static void main(String[] args) { String someName; someName = setName(); someName = setName();
При попытке дозвониться до
SetName()функция во второй раз, я получаю следующую ошибку:
Exception in thread "main" java.util.NoSuchElementException: No line found at java.util.Scanner.nextLine(Unknown Source)
Что я уже пробовал:
Я попытался прокомментировать ситуацию.
scanName.close();в методе SetName() и проблема будет решена. Но я также попытался вызвать функцию и присвоить ее другой строковой переменной, что тоже не сработало. Я хотел бы знать, что пошло не так.