我正在尝试做一个学校项目,但遇到了问题;我的代码是:
public class Class {
public static void main(String[] args) {
Scanner lector = new Scanner(System.in);
int code = 0, i = 0;
boolean error = true;
//Start of program
System.out.println("Inputs ------------------");
//Ask for input
do {
System.out.print("Code: ");
code = lector.nextInt();
if ( code < 0 || code > 2000) {
error = false;
} i = i + 1;
} while (!error || i < 3);
if (error) {...rest of the program
我的问题是,如果输入> 0&
任何帮助将不胜感激!谢谢!
最佳答案
这个
while (!error || i < 3);
应该
while (!error && i < 3);
您想在
error
是false
和i < 3
时继续循环。也可以将i = i + 1;
编写为i++
(或带有预递增)。所以你可以做boolean valid = false;
do {
System.out.print("Code: ");
code = lector.nextInt();
if (code > 0 && code < 2000) {
valid = true;
}
i++;
} while (!valid && i < 3);
关于java - Java。多个while条件和 boolean 值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36684348/