gpt4 book ai didi

java - 为什么这个 for 循环会被跳过?

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

在以下 Java 代码中:

public static void main(String[] args) {
Integer[] k = new Integer[] {0, 1, 2, 3};

int m = 0;
while (m < k.length) {
for (int i = 0; i < k.length && k[i] != null; i++)
System.out.print(k[i] + " ");
System.out.println("");
k[m++] = null;
}
}

我试图获得以下输出:

0 1 2 3
1 2 3
2 3
3

但是,在第一遍之后,即在 0 1 2 3 输出之后,内部 for 循环被完全跳过,这是因为在第一遍之后第一个元素被设置为 null,但我不明白为什么这很重要,有人可以解释一下吗?真的很困惑。提前致谢。 :)

最佳答案

如果您使用 i = m 而不是 i=0 那么它将起作用。

    public static void main(String[] args) {
Integer[] k = new Integer[] {0, 1, 2, 3};

int m = 0;
while (m < k.length) {
for (int i = m; i < k.length && k[i] != null; i++)
System.out.print(k[i] + " ");
System.out.println("");
k[m++] = null;
}

关于java - 为什么这个 for 循环会被跳过?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44857023/

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