Java 设置参数时遇到问题

Java 设置参数时遇到问题,java,validation,Java,Validation,我不明白我怎么只允许数字1-4?我不确定是否有这个术语,我想它的参数 即时消息查询代码是倒数第三行 private void validatePositiveNumber() { Scanner scanner = new Scanner(System.in); int number; do { System.out.print("Please enter a positive number: "); while (!

我不明白我怎么只允许数字1-4?我不确定是否有这个术语,我想它的参数

即时消息查询代码是倒数第三行

private void validatePositiveNumber() {
    Scanner scanner = new Scanner(System.in);

    int number;
    do {
        System.out.print("Please enter a positive number: ");
        while (!scanner.hasNextInt()) {
            String input = scanner.next();
            System.out.printf("\"%s\" is not a valid number.\n", input);
        }
        number = scanner.nextInt();
    } while (number < 4);

    System.out.printf("You have entered a positive number %d.\n", number);
}
private void validatePositiveNumber(){
扫描仪=新的扫描仪(System.in);
整数;
做{
System.out.print(“请输入正数:”);
而(!scanner.hasnetint()){
字符串输入=scanner.next();
System.out.printf(“\“%s\”不是有效数字。\n”,输入);
}
编号=scanner.nextInt();
}而(数量<4);
System.out.printf(“您输入了一个正数%d.\n”,数字);
}
使用
while(数字>4 | |数字<1)这不允许任何超出范围的内容。

Scanner Scanner=新的扫描仪(System.in);
Scanner scanner = new Scanner(System.in);

        int number;
        do {
            System.out.print("Please enter a positive number: ");
            while (!scanner.hasNextInt()) {
                String input = scanner.next();
                System.out.printf("\"%s\" is not a valid number.\n", input);
            }
            number = scanner.nextInt();
        } while (number > 4 || number < 1);

        System.out.printf("You have entered a positive number %d.\n", number);
整数; 做{ System.out.print(“请输入正数:”); 而(!scanner.hasnetint()){ 字符串输入=scanner.next(); System.out.printf(“\“%s\”不是有效数字。\n”,输入); } 编号=scanner.nextInt(); }而(数>4 | |数<1); System.out.printf(“您输入了一个正数%d.\n”,数字);
仔细考虑您的while状况。基本上,“当输入的数字小于4时,继续询问有效数字”。这就是你真正想要的吗?我希望当数字不在0和4之间时会有一个错误,我明白这一点。我要指出的是,你的情况几乎与此相反。