您需要创建一个包含 10 个整数的空数组,并使用循环为其填充值,每个值都会比前一个(从 1 开始)多 3,即 get [1, 4, 7, 10, 13, 16, 19, 22, 25, 28]。
写了这段代码:
public class massiv {
public static void main(String[] args) {
int[] array = new int[10];
array[0] = 1;
for (int i = 0; i < array.length; i++) {
array[i] = array[i] + 3; //вот тут туплю - не пойму как решить
System.out.println(array[i]);
}
}
}
如何正确填充数组?
从数组的第二个元素开始循环。
在循环开始之前,我们为元素 [0] 赋值。然后我们从元素 [1] 开始循环。在每个迭代步骤中,我们使用前一个元素将其加 3 并将其分配给下一个元素。
这是循环的工作原理:
array[1] = array[0] + 3。我们得到 array[1] = 4。
那么数组[2] = 数组[1]+3。我们得到 array[2] = 4+3 = 7,依此类推。
由于给定的递归函数
可以替换为非递归的:
这可以通过将值绑定到迭代次数 (
i) 来缩短一些:如果使用 Java 8:
array[i] = array[i]+3;// 我在这里很笨——我不知道如何解决是的,这就是问题所在,您可能想将前一个元素的值增加 3。为此,您可以这样做:
但是,在这种情况下,您需要不是从数组 [0] 的零元素开始循环,而是从第一个数组 [1] 开始循环,因为该元素
array[i-1](即array[0-1])不存在