Try-Catch用于用户输入

时间:2017-04-22 18:21:20

标签: java try-catch user-input

我正在尝试创建一个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在我看来并没有在这一部分做得很好。

1 个答案:

答案 0 :(得分:0)

当你使用nextInt()方法时,程序实际上进入一个循环,直到输入真的是一个整数。 您的程序输入本身已经是类型限制。