Проверка правильности ввода типа Java
System.out.println("What letter should the word begin with?");
char letter = input.next().charAt(0);
if(letter != ''){
throw new InputMismatchException("Please input a letter");
}
Я хочу проверить, если пользователь вводит что-либо, кроме строки / символа. Если они есть, я хочу выдать исключение, которое говорит, что ввод неправильный. Это мой текущий код, но он не компилируется.
1 ответ
Решение
Вы можете проверить, letter
такое письмо, как это:
if ((letter >= 'A' && letter <= 'Z') || (letter >= 'a' && letter <= 'z'))
На самом деле, Scanner
имеет эту удобную перегрузку next(String pattern)
это бросает InputMismatchException
автоматически, если ввод не соответствует шаблону:
char letter = input.next("[a-zA-Z]").charAt(0);
[a-zA-Z]
это шаблон, используемый здесь. Он принимает любой символ от a до z или от A до Z.