我正在尝试创建一个try-catch语句,该语句在用户输入小于0的数字时捕获,然后在用户输入char / String时捕获,因为我想要用户输入int。
try {
System.out.print("How many square feet are on your lot? (Enter 0 to quit): ");
userSquareFeet = scnr.nextInt();
if (userSquareFeet < 0) {
throw new Exception("You can't have a negative value");
}
} catch (InputMismatchException e) {
System.out.println("You can not enter a character(s).");
} catch (Exception e) {
System.out.println(e.getMessage());
}
当我输入char / String时,由于某种原因它只会启动一个无限循环。感谢任何帮助,对于这个简单的问题感到抱歉,Zybooks.com在我看来并没有在这一部分做得很好。
答案 0 :(得分:0)
当你使用nextInt()方法时,程序实际上进入一个循环,直到输入真的是一个整数。 您的程序输入本身已经是类型限制。