0

该程序应该从用户的单个输入中接收四个整数(例如 1 2 3 42)。我正在尝试编写一些代码来检查输入是否都是整数。

但是,即使输入类似于 1 2 ab,它也不会进入 while 循环,我不知道为什么。任何帮助,将不胜感激。

Scanner scan = new Scanner(System.in);      
System.out.print("Please list at least one and up to 10 integers: ");
scan.hasNextInt();

    while(!scan.hasNextInt())
        {
            System.out.println("One or more of your inputs was not an integer. Please input only integers: ");
            scan.next();
        }
4

1 回答 1

1

你没有通过阅读 next intwith来取得进展Scanner

尝试1 a b使用以下代码输入:

scan.hasNextInt();
scan.nextInt();   // or scan.next() to read next integer
    while(!scan.hasNextInt())
        {
            System.out.println("One or more of your inputs was not an integer. Please input only integers: ");
            scan.next();
        }

它将打印:

您的一个或多个输入不是整数。请只输入整数:

仅整数:您的一个或多个输入不是整数。请输入

于 2013-10-07T02:25:44.633 回答