为什么每次使用 Array 时都会增加 2

  • 本文关键字:增加 Array java
  • 更新时间 :
  • 英文 :


有一个问题要问你们。试图教她阵列,并试图弄清楚它的工作方式等。但我有一个小小的问题:

int [] array1 = new int[10];
for (int index = 0; index < array1.length; index++) {
            array1[index]++;
            System.out.println(array1[index]);
        }

有了这个 for 循环。为什么每个元素的数组都会增加 2?我的意思是,我知道这个问题的答案是:2,4,6,8,10,12,14,16,18,20,但为什么每个元素都会增加两个?

为什么它不从 0 开始,每次都增加 1?

编辑:

呸,谢谢你们。在发布此内容之前,我忘记了一些重要的事情。我误会了。

在我发布的这个 for 循环之前,我还有另一个 for 循环。

for (int index = 0; index < array1.length; index++) {
        array1[index] = 2 * index + 1;
    }

所以我现在知道为什么循环会以这种方式增加。谢谢你的时间。

它没有理由增加 1。

我刚刚测试了您的代码,输出是

1 1 1 1

因为每个元素都初始化为 0,然后递增

(另请注意,我进行了初始化。否则没有变化)

如果我运行

    int[] array1 = new int[10];
    System.out.println("Before loop: "+Arrays.toString(array1));
    for (int index = 0; index < array1.length; index++) {
        array1[index]++;
        System.out.println(array1[index]);
    }
    System.out.println("After loop: "+Arrays.toString(array1));

它打印

Before loop: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
1
1
1
1
1
1
1
1
1
1
After loop: [1, 1, 1, 1, 1, 1, 1, 1, 1, 1]

我知道这个问题的答案是:2,4,6,8,10,12,14,16,18,20

这表明您错误地复制了问题。 ;)

删除

array1[index]++; 

它应该有效。

最新更新