Java 整数数据验证中的无限循环 boolean验证程序=true; int userMembers=0; 而(userMembers>8 | | userMembers

Java 整数数据验证中的无限循环 boolean验证程序=true; int userMembers=0; 而(userMembers>8 | | userMembers,java,validation,Java,Validation,这是我过去几个小时一直遇到的问题。无论我做什么,我都无法强制while循环实际询问userMembers=input.nextInt()两次或更多。它只是在一个无限循环中运行。如果输入整数以外的任何内容,就会发生这种情况。有人能解释一下为什么这不起作用,或者给我一个不太复杂的解决方案吗?Addinput.nextLine()到catch块,以使用当前输入行的其余部分。为了更好地了解代码的运行方式,您是否尝试过在IDE中添加断点并单步执行代码?这应该指出问题所在。 boolean vali

这是我过去几个小时一直遇到的问题。无论我做什么,我都无法强制while循环实际询问
userMembers=input.nextInt()两次或更多。它只是在一个无限循环中运行。如果输入整数以外的任何内容,就会发生这种情况。有人能解释一下为什么这不起作用,或者给我一个不太复杂的解决方案吗?

Add
input.nextLine()
到catch块,以使用当前输入行的其余部分。

为了更好地了解代码的运行方式,您是否尝试过在IDE中添加断点并单步执行代码?这应该指出问题所在。
    boolean validator = true;
    int userMembers = 0;

    while(userMembers > 8 || userMembers < 1)
    {

        while(validator)
        {
            try
            {   
                System.out.println("How many members of the band? ");
                userMembers = input.nextInt();
                validator = false;
            }
            catch(InputMismatchException e)
            {
                System.out.println("Please user proper syntax");


            }
        }   

        validator = true;
    }