我正在尝试做一个学校项目,我遇到了问题;我的代码是:
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
我的问题是如果输入是&gt;我需要退出循环。 0&amp; &LT;如果用户超过3个意图,我需要停止执行程序。
任何帮助都会非常苛刻!谢谢!
答案 0 :(得分:2)
此
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);