我正在尝试创建一个try-catch语句,该语句在用户输入小于0的数字时捕获,然后在用户输入字符/字符串时捕获(考虑到我希望用户输入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在这一部分做得不好。
发布于 2017-04-23 02:37:02
当您使用nextInt()方法时,程序实际上进入一个循环,直到输入真正是一个整数。你的程序输入本身已经有了类型限制。
https://stackoverflow.com/questions/43562941
复制相似问题