Как правильно применить Scanner в данном случае. Ошибка при использовании try-with-resources

В программе несколько методов, которые используют Scanner (сканер №1 строка 10 на Git).

Один метод работает, если создать второй сканер (метод - строка 78, сканер №2 - строка 82).

Пробовал обернуть каждый метод в try-with-resources, как показано в примере ниже. В таком случае метод при считывании с консоли выбрасывает исключение:

public static double scanNumber() {
    System.out.print("Enter the number please");
    double number;
    try (Scanner scanner = new Scanner(System.in)) {
       if (scanner.hasNextDouble()) {
          number = Double.parseDouble(scanner.next());
       } else {
          System.out.println("Entered number is incorrect. Please enter correct number");
          number = Double.parseDouble(scanner.next());
       }
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
    return number;
}

Как сделать правильно? Чтобы все работало и было грамотно сделано.

Проблема в том, что в первом случае (где два сканера) работает, только Scanner не закрыт. А во втором возникает ошибка при использовании try-with-resources.


Ответы (0 шт):