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

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


您想在errorfalsei < 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/

10-10 03:16