[英]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.