Как правильно применить 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.