整数を2つの数字の間になるまで、ユーザの入力を求めてください

ソフティ:

私は、次のコードで助けを必要とします:

    int seatNum = 0;

    Scanner seatNumber = new Scanner(System.in);

    do
    {
        try 
        {
            System.out.println("Please choose a seat number");
            seatNum = seatNumber.nextInt();  
        } 
        catch(InputMismatchException e) 
        {
            System.out.println("The index you have entered is invalid");
            System.out.println("Please enter an index number between 0 and 7");

        }

    } while (seatNum <= 0 || seatNum >= 7);

再び入力にユーザーを聞かない場合seatNumは0と7の間になるようにするために基本的に、私が望むすべてがあります。I入力がない、すべて0〜7の整数だが正常に動作しますが、私は文字列を入力すると、プログラムが無限ループになると。どのように私は無限ループ、ユーザの入力文字列に入るのプログラムを停止しますか?

ゴールディー:

これを試して

String seatNum = null;
Scanner scanner = new Scanner(System.in);
while(true){
System.out.println(" Enter a number between 0 and 7"); 
seatNum = scanner.nextLine().toString();
if(seatNum.matches("[0-7]")) break; // makes sure user enter a number also between the range
else System.out.println("Enter between 0 and 7");

ニースの右?それはあなたが望むものであるならば、私は言う、それを実行din't

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=27422&siteId=1