有一个问题要问你们。试图教她阵列,并试图弄清楚它的工作方式等。但我有一个小小的问题:
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]++;
它应该有效。