1

我正在编写一个用户只能输入正整数的脚本。我正在使用带有 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) {

    }

我有点卡在捕捉部分..

4

1 回答 1

2

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

于 2013-10-22T19:59:16.413 回答