java重写数组
我是Java新手,我正在尝试覆盖如下数组:{2,7,6,1,9}
到{9,13,7,10,9}
。所以我试图把数组中相邻的数相加,然后用和覆盖第一个数。我的代码如下所示:
int add = numbers[i] + numbers[i+1];
int[] numbersAdd = new int[numbers.length];
i = 1;
int j = 1;
while(j < numbers.length) {
numbersAdd[j] = add;
i++;
j++;
}
我总是得到一个IndexOutofBoundException
。
你能帮我吗?谢谢!
# 1 楼答案
您应该在while循环中移动
add
,并更改i
和j
的起始和结束索引,如:也可以使用for循环完成:
# 2 楼答案
试着做this(和你的问题一样,答案简单得多)
代码中的问题是,在上一次迭代中,i等于(length-1),所以(i+1)等于length,这是无效的索引。将代码更改为迭代到(长度-2),这样就可以了
# 3 楼答案
我想你想要这个+-: