Java的。多个while条件和布尔值

时间:2016-04-18 01:59:08

标签: java

我正在尝试做一个学校项目,我遇到了问题;我的代码是:

    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个意图,我需要停止执行程序。

任何帮助都会非常苛刻!谢谢!

1 个答案:

答案 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);