我正在尝试获取用户输入以使用 <=1 和 <=24 的数字填充变量。目前,它仅转到 else 语句并打印这两行并等待另一个输入。即使输入满足三个条件。
例如。我正在输入 1。这应该满足所有三个条件?
程序应向用户提供与输入问题相对应的错误。
如果未输入整数,则仅要求输入数字。如果数字为 <1 或 >24,则应要求仅输入这两个点之间的数字。
while (length1 == Integer.MIN_VALUE) {
System.out.print("Enter the Length of wall 1: ");
if (scan.hasNextInt() && 1<=length1 && length1<=24) {
length1 = scan.nextInt();
}
else if (length1<1 && 24<length1) {
System.out.println("Error Error");
System.out.println("Please only enter numbers between 1 and 24.");
scan.next();
} else {
System.out.println("Error Error");
System.out.println("Please only enter numbers.");
scan.next();
}
}
最佳答案
除了一个错误的&&
之外,应该先读取nextInt。
while (true) {
System.out.print("Enter the Length of wall 1: ");
if (scan.hasNextInt()) {
length1 = scan.nextInt();
if (1 <= length1 && length1 <= 24) {
break:
}
System.out.println("Error Error");
System.out.println("Please only enter numbers between 1 and 24.");
} else {
System.out.println("Error Error");
System.out.println("Please only enter numbers.");
scan.next();
}
}
关于java - 多个条件的 if 方法出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27271015/