gpt4 book ai didi

java - 我的 for 循环出了什么问题?

转载 作者:行者123 更新时间:2023-12-02 05:04:36 25 4
gpt4 key购买 nike

public class Lockers {

public static void main(String[] args) {
boolean[] lockers = new boolean[100];
int num = 2;
for(int a=0; a < 100; a++) {
lockers[a] = true;
}

for(int num=1; num < 101; num++) {

for(int i=1; i < 100; i = i+num) {
if (lockers[i]) {
lockers[i] = false;
}
else {
lockers[i] = true;
}
}}

for(int i=0; i < 100; i++) {
if (lockers[i]) {
System.out.print("Opened");
}
else {
System.out.print("Closed");
}
}

}}

这个程序出 self 的java学校教科书,其想法是现在有100个储物柜全部打开,从第二个储物柜开始,每隔两个储物柜关闭一次。 (2,4,6,8,10)然后在第二个储物柜重新开始,每个第三个储物柜都做同样的事情(打开一个关闭的储物柜,或关闭一个打开的储物柜)。现在我的第三个 for 循环似乎是我的问题,它由于某种原因无法运行,包含第二个 for 循环,因此当第三个 for 循环启动时,它会遍历每个第二个锁,然后返回到第二个 for 循环语句将“num”加 1 会经历第 3 个,然后是第 4 个,依此类推。我只想使用迄今为止在java和程序中学到的基本命令,所以请帮助我解决这个问题,而无需真正的高级编码。

问题是,当我运行程序时,第三个 for 循环是一个无限循环,我知道前两个循环运行良好,我在第二个 for 循环之后测试了它输出“num”和它像我想要的那样输出 2 到 100 的所有数字,但是循环在第三个 for 循环处是无限的,不输出任何其他内容

最佳答案

是不是很简单:

for(int i=0; i < 100; i = i++)

应该是:

for(int i=0; i < 100; i++)

关于java - 我的 for 循环出了什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27907342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com