繁体   English   中英

Java根据用户输入验证数字范围

[英]Java validating a range of numbers from user input

我的验证一直遇到问题,这让我感到压力,我用不同的循环以各种方式完成了此任务,而如果我能顺利执行IF语句,那么我目前拥有的就是这一点。用于数字,但是由于我的程序只能接受1到5之间的数字,因此我想采取额外的步骤来验证数字然后返回它。 我尝试在循环内声明int选项,但不执行return语句。

    public int makeOption(){
    int option;
    System.out.println("Choose from the following options: ");
    System.out.println("(1)Create entry || (2)Remove entry || (3)List entry || (4)List All || (5)Exit ");

    while(!reader.hasNextInt()){
            System.out.println("Choose a valid option.");
            reader.next();
    }
    if(reader.nextInt()<1 || reader.nextInt()>5){
        System.out.println("Choose a valid number from options.");
        reader.next();
    }
    option = reader.nextInt();
    System.out.println("You choosed: " + option);
    return option;
}

交换if语句以获取switch语句:

int input = reader.nextInt();

switch(input)
{
    case 1: // Do something 
          break;
    // blah blah blah more cases.

    default: System.out.println("Please enter a correct value.");
}

关于代码的注释

当您调用reader.nextInt() ,您是在告诉流期望另一个int 您没有看到相同的值。 在使用之前,应将其存储在变量中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM