Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将布尔值true或false分配给字符串“QUOTE”;开放式;及;“关闭”;_Java - Fatal编程技术网

Java 如何将布尔值true或false分配给字符串“QUOTE”;开放式;及;“关闭”;

Java 如何将布尔值true或false分配给字符串“QUOTE”;开放式;及;“关闭”;,java,Java,所以我有这个代码,但我不能理解以下内容: 为什么输出停止在99?我知道我设置了布尔值[100],并将其改为101,但这不起作用 如何获得输出以打印“Locker x已打开”或“Locker x已关闭”?我知道我必须以某种方式将布尔值true指定为打开,将false指定为关闭 请帮忙,谢谢 密码 public class lockerPuzzle{ 公共静态void main(字符串[]args){ 布尔值[]储物柜=新布尔值[100]; 对于(int i=1;i

所以我有这个代码,但我不能理解以下内容:

  • 为什么输出停止在99?我知道我设置了布尔值[100],并将其改为101,但这不起作用

  • 如何获得输出以打印“Locker x已打开”或“Locker x已关闭”?我知道我必须以某种方式将布尔值
    true
    指定为打开,将
    false
    指定为关闭

  • 请帮忙,谢谢

    密码
    public class lockerPuzzle{
    公共静态void main(字符串[]args){
    布尔值[]储物柜=新布尔值[100];
    对于(int i=1;i
    差别
    1-99(99个元素)

    0-99(100个元素)

    密码
    publicstaticvoidmain(字符串[]args){
    布尔值[]储物柜=新布尔值[100];
    对于(int i=0;i对于(int i=0;i您从1开始索引,这将跳过数组中的第一项。我简化了您的代码,这里是代码,您实际上不需要那些if语句

    public static void main(String[] args){
        boolean[] lockers = new boolean[100];
        for(int i = 0; i < lockers.length; i++){
            for (int j = i; j < lockers.length; j+=i){
                lockers[j] = !lockers[j];
            }
        }
        for(int i = 1; i <lockers.length; i++){
            System.out.println(lockers[i] + " " + i);
        }
    }
    
    publicstaticvoidmain(字符串[]args){
    布尔值[]储物柜=新布尔值[100];
    对于(int i=0;i对于(int i=1;i
    Array
    是零索引的,因此一个
    Array
    将有100个元素在@GBlodgett的评论之后将有索引的
    0-99
    更多:这就是为什么你应该以0作为初始值开始循环,而不是1不要忘记
    循环的第二个
    。@MehdeeAhmed没有问题,兄弟。前面的路是一个程序MMR很难,但你必须坚持下去。遇到问题是很正常的。接受它;)我还添加了更多关于函数式编程的简明答案的细节。最终你会掌握它的窍门。
    
    public static void main(String[] args){
        boolean[] lockers = new boolean[100];
        for(int i = 0; i < lockers.length; i++){
            for (int j = i; j < lockers.length; j+=i){
                if (lockers[j] == false){
                    lockers[j] = true;
                }
                else{
                    lockers[j] = false;
                }
            }
        }
        for(int i = 0; i <lockers.length; i++){
            System.out.println(lockers[i] + " " + i);
        }
    }
    
    public class lockerPuzzle{
    
        public static void main(String[] args){
    
            // ...
    
            for(int i = 0; i < lockers.length; i++){
                boolean isOpened = lockers[i]
    
                if (isOpened) {
                    System.out.println("Locker " + i + " is opened!");
                } else {
                    System.out.println("Locker " + i + " is closed!");
                }
            }
        }
    }
    
    public static void main(String[] args){
        boolean[] lockers = new boolean[100];
        for(int i = 0; i < lockers.length; i++){
            for (int j = i; j < lockers.length; j+=i){
                lockers[j] = !lockers[j];
            }
        }
        for(int i = 1; i <lockers.length; i++){
            System.out.println(lockers[i] + " " + i);
        }
    }