我的验证问题一直存在,并且它强调了我,我已经用不同的循环以各种方式完成了它,而我现在拥有的那个就是这个,如果我拿出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;
}
答案 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
。您没有查看相同的值。在使用它之前,您应该将它存储在变量中。