Im, создавая программу, в которой пользователь вводит высоту между 3 и 10 и трифосс из zelda печатается в java. В настоящий момент, когда пользователь вводит числа за пределами этого диапазона, генерируется исключение, однако я хочу, чтобы программа выдавала исключение всякий раз, когда вводилась любая строка. Я не уверен, как использовать InputMismatchException
. Это мой код до сих пор:Исключение не выполняется
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
int height;
try {
System.out.print("Enter height: ");
height = keyboard.nextInt();
}
catch (InputMismatchException e) {
System.out.println("");
System.out.println("Invalid height.");
}
if (height < 3 || height > 10) {
System.out.println("Invalid height.");
System.exit(0);
}
Вы просите для 'int', если вы хотите, чтобы проверить, если строка была введена, то читайте в' Сканер # next' или 'Сканер # nextLine' и использовать 'Integer # parseInt' в блоке try-catch. –
Вы не должны использовать 'System.exit (0)' в условии «ошибка»: выход с нулевым кодом ошибки означает «успех», по соглашению. Более того, вы должны использовать 'System.exit' очень редко в коде:' return' будет иметь такой же эффект здесь. –