【发布时间】:2016-02-17 15:25:57
【问题描述】:
我希望当用户的输入是非整数值、小于1的整数值或大于3的整数值时执行while循环。一旦输入有效,我将使用它。但是,循环仅在用户输入非整数值时起作用。我已经把逻辑走完了,但我仍然不确定出了什么问题。
代码:
Scanner scnr = new Scanner(System.in);
do {
System.out.println("Please enter an integer value 1-3 for the row.");
while((scnr.hasNextInt() && (scnr.nextInt() > 3)) || (scnr.hasNextInt() && (scnr.nextInt() < 1)) || (!scnr.hasNextInt()))
{
System.out.println("Your input is not valid.");
System.out.println("Please enter an integer value 1-3 for the row.");
scnr.next();
}
row = scnr.nextInt() - 1;
【问题讨论】:
-
我认为您的问题是您同时使用 scnr.nextInt() 两次。如果我是你,我会使用: int myInput = scnr.nextInt(); while(myInput>3 || myInput
标签: java loops while-loop logic