Первым делом, для удобства работы с консолью реализуем класс ConsoleHelper. В дальнейшем, вся работа с консолью должна происходить через этот класс.
Добавь в него:
1. Статическое поле типа BufferedReader, инициализированное с помощью System.in.
2. Статический метод writeMessage(String message), который должен выводить сообщение message в консоль.
3. Статический метод String readString(), который должен считывать строку с консоли.
Если во время чтения произошло исключение, вывести пользователю сообщение "
Произошла ошибка при попытке ввода текста. Попробуйте еще раз."
И повторить ввод. Метод не должен пробрасывать исключения IOException наружу.
Другие исключения не должны обрабатываться.
4. Статический метод int readInt(). Он должен возвращать введенное число и использовать метод readString().
Внутри метода обработать исключение NumberFormatException.
Если оно произошло вывести сообщение
"Произошла ошибка при попытке ввода числа. Попробуйте еще раз."
И повторить ввод числа.
В этой задаче и далее, если не указано дополнительно другого, то все поля класса должны быть приватными, а методы публичными.
- В классе ConsoleHelper должно быть создано и инициализировано приватное, не финальное, статическое поле типа BufferedReader.
- В классе ConsoleHelper должен быть реализован статический метод writeMessage(String message), выводящий сообщение на консоль.
- В классе ConsoleHelper должен быть реализован статический метод readString, возвращающий строку считанную с консоли.
- В классе ConsoleHelper должен быть реализован статический метод readInt, возвращающий число считанное с консоли.
- Метод readInt должен использовать метод readString для чтения с консоли.
- Метод readString должен перехватывать IOException, выводить сообщение о некорректном вводе и повторять считывание с консоли.
- Метод readInt должен перехватывать NumberFormatException, выводить сообщение о некорректном вводе и повторять считывание с консоли.