Java 不包括 100 个储物柜中的 100 个

标签 java arrays iteration

我想要的输出是储物柜 1,4,9,16,36,49,81 AND 100。 我正在迭代尝试在学生被发送后找到哪些储物柜,并打开每个储物柜。 (默认情况下所有储物柜都是关闭的)并打开每个储物柜。然后2号学生去其他所有的储物柜,如果它是打开的,就关闭它,如果它是关闭的,就打开它。三号学生也做了同样的事情,但每隔三个储物柜一次。一直到学生 100。我知道输出应该都是平方数,但我无法显示 100。我缺少什么?我在两次迭代中都添加了 <=,但它不起作用。它抛出 IndexOutOfRangeException。我该怎么办?

import java.util.Arrays;

public class runLocker {
final static int numberOfLockers = 100;
final static int numberOfStudents = 100;

public static void main(String[] args) {
    // TODO Auto-generated method stub
     int LockersToCloseBy = 1;
    boolean[] totalLockersArray = new boolean[numberOfLockers];
    for(int i = 0; i < totalLockersArray.length - 1; i++){
        totalLockersArray[i] = false;
    }


    for(int n= 0; n < totalLockersArray.length ; ++n){
        for(int j = 0; j < totalLockersArray.length; j+=LockersToCloseBy){

            if(totalLockersArray[j] == true)
            {
                totalLockersArray[j] = false;
            }
            else
            {
                totalLockersArray[j] = true;
            }   
        }
        LockersToCloseBy++;
    }

    for(int i = 0; i < numberOfLockers; i++){
        if(totalLockersArray[i] == true){
            System.out.println("Locker " + i + " is open");
        }
    }


    //Currently outputs 1, 4, 9, 16, 36, 49, and 81...
    //Need it to output 1,4,9,16,36,49,81,100
}

}

最佳答案

您的数组是为索引 [0,...,99] 定义的(总共 100 个元素,不包括 100 个)。

在下面的代码中:

for(int i = 0; i < numberOfLockers; i++){
    if(totalLockersArray[i] == true){
        System.out.println("Locker " + i + " is open");
    }
}

100 甚至不是候选人。


一个简单的解决方法是将储物柜数组设置为 101 (numberOfLockers=101),因此所有循环都将包含 100。

关于Java 不包括 100 个储物柜中的 100 个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32124681/

相关文章:

java - Tomcat 6 默认缓冲区大小

Maven 使用了错误的 jdk

arrays - 如何分配按名称传递给函数的数组

c - c中的字符串数组声明

python - 合并字典内的列表值

r - 如何根据上次执行的迭代的值跳过循环迭代?

c# for 循环错误的迭代次数

Java NumberFormat : Missing Currency Symbols for Portugal, 卢森堡等

java - 如何在 Java 中将 xsl 应用到 xml

javascript - 从嵌套结构递归映射 3d.js 图形节点和链接