Java验证用户输入的一系列数字

时间:2013-05-09 19:50:44

标签: java validation 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;
}

1 个答案:

答案 0 :(得分:-1)

交换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。您没有查看相同的值。在使用它之前,您应该将它存储在变量中。