0

このプログラムは、ユーザーからの 1 回の入力で 4 つの整数を受け取ることになっています (例: 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

intで次を読んでも進んでいません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();
        }

それは印刷されます:

1 つ以上の入力が整数ではありませんでした。整数のみを入力してください:

整数のみ:1 つ以上の入力が整数ではありませんでした。入力してください

于 2013-10-07T02:25:44.633 に答える