只使用try catch和while接受正整数

时间:2013-10-22 19:57:34

标签: java user-input

我正在编写一个脚本,用户只能输入正整数。我正在使用带有try catch和while循环的扫描仪。循环是不断要求用户输入正确的信息。

我可以查看负整数,但字符串或其他一些疯狂的东西呢?

    int price = 0;
    Scanner input = new Scanner(System.in);
    try {
        System.out.println("Enter max price: ");
        price = input.nextInt();
        if (price > 0) {
            input.close();
        } else {
            while (price < 0) {
                System.out.println("Negative values not allowed");
                System.out.println("Enter max price: ");
                price = input.nextInt();
            }
            input.close();
        }
    } catch (InputMismatchException e1) {

    }

我有点陷入困境..

1 个答案:

答案 0 :(得分:2)

调用input.hasNextInt()以检查下一个标记是否实际上是一个整数。 Scanner中有很多有用的方法,所以我建议taking a look at the docs

相关问题