整数数组存储值3,2,3,4,5。我正在尝试创建一个程序,将这些值递增2,然后使用for
循环将结果保存到同一个数组中。我试过但我的代码有问题,在这里:
public class ArrayClass {
int a[] = {2, 3, 3, 4, 5};
}
public class ArrayObject {
public static void main(String[] Ella) {
int a[] = new int[5];
int i;
for (i = 2; i < a.length; i = i + 2) {
a[i] = i + 2;
System.out.println(a[i]);
}
}
}
答案 0 :(得分:2)
这应该有效:
for (i = 0; i < a.length; i++) {
a[i] += 2;
System.out.println(a[i]);
}
您会看到,当增加数组的每个值时,索引必须为0且最大为数组的长度。通过向i添加一个,数组的索引增加1,这意味着下一个数字将增加2。你所做的是在“i”变量中添加两个,这意味着只有3个varialbes会被更改。
答案 1 :(得分:1)
请在下面更改您的代码。它会工作。
for (i = 0; i < a.length; i++) {
a[i] = a[i] + 2;
System.out.println(a[i]);
}
答案 2 :(得分:0)
错误是当你执行i = i + 2
时,你只是递增位置索引,而不是该位置的实际值。
你需要这样做:
a[i] = a[i]+2;
让我解释一下[i]是什么:
|3|2|3|4|5|
1 2 3 4 5
第一行是值。第二行是索引。 &#34;指数&#34;表示阵列中每个位置的位置编号。
另一个问题是,当您初始化i
时,它必须是i=0
。这是因为i
数组索引(多个索引)总是从0开始。这意味着a[0]
是数组中的第一个位置,它将是数据集中的第3个位置。