2012-12-11 88 views
-2

给你们一个小问题。试图教她的阵列,并试图FIGUR的方式,工作等 但我有痘痘问题:为什么每次使用Array都会增加2?

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; 

    } 

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

+0

'为什么它不是从0开始,每次增加1?'为什么你认为它不是? –

+1

认为你的代码是错误的。输出不同于你所说的 – cjds

回答

9

没有理由确实增长了1

我只是测试你的代码和输出中是

1 1 1 1 

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

(还要注意我做了初始化,否则没有变化)

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

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

+1

Bah,谢谢你们。我在发布之前忘记了一些重要的东西。我误解了。 在我发布这个for循环之前,我有另一个for循环。 \t for(int index = 0; index user1770961

相关问题