提问人:therealslyvegas 提问时间:3/23/2023 最后编辑:therealslyvegas 更新时间:3/23/2023 访问量:29
使用 hasNextInt() 验证用户输入是否为 int,以及它是否介于特定值之间
Verify User Input Is An Int And That It Is Between A Specific Value Using hasNextInt()
问:
是否有可能不仅验证用户是否使用 hasNextInt() 输入一个 int,而且还可以验证它也是数字,比如说在 1 和 4 之间,以便之后的开关条件?因此,在达到开关条件之前,我想,一,确保用户不能用随机输入破坏它,二,接收到的输入在 1 到 4 之间。现在我知道有很多方法可以解决这个问题,但我想问大家是否可以用尽可能少的行以这种方式(在 hasNextInt() 的 while 循环条件中)做到这一点?我在这里看到了 hasNextInt() 的不同实现,但仅限于确保它是输入的 int 的程度,仅此而已。
这只是我试图传达的一个概念,如果理论上这样的事情是可能的
while(!input.hasNextInt() && input.nextInt() < 1 && input.nextInt() > 4){...code}
/// THIS IN A SENSE IS WHAT I COME UP WITH BUT I AM TRYING TO
/// SEE IF I CAN CONDENSE THIS WITH THE CONCEPT I STATED ABOVE. I
/// DON'T WANT THIS CODE FIXED.
Scanner input = new Scanner(System.in);
int selection = 0;
while(!input.hasNextInt()) {
System.out.print("Invalid Entry! Only numbers 1 - 4");
System.out.print("Enter Selection: ");
input.next;
}
selection = input.nextInt();
boolean flag = true;
while(flag && selection > 0 && selection < 5) {
if (selection < 1 || selection > 4) {
System.out.print("Invalid Entry! Only numbers 1 - 4");
System.out.print("Enter Selection: ");
while(!input.hasNextInt()) {
System.out.print("Invalid Entry! Only numbers 1 - 4");
input.next;
System.out.print("Enter Selection: ");
}
selection = input.nextInt();
}
答: 暂无答案
评论