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

时间:2012-12-11 15:40:26

标签: 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但为什么每个元素增加2?

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

编辑:

巴哈,谢谢你们。在我发布之前我忘记了一些重要的事情。我误解了。

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

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

    }

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

3 个答案:

答案 0 :(得分:9)

没有理由它增加1。

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

1 1 1 1

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

(另请注意我做了初始化。否则没有更改)

答案 1 :(得分:1)

如果我跑

    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

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

答案 2 :(得分:0)

删除

array1[index]++; 

它应该有用。