这是程序任务:
编写一个名为 collapse 的方法,它接受一个整数数组作为参数,并返回一个新数组,其中包含将每对整数替换为该整数对之和的结果。
例如,如果一个名为 list 的数组存储值
{7, 2, 8, 9, 4, 13, 7, 1, 9, 10}
那么 的调用collapse(list)
应该返回一个新数组,其中包含:
{9, 17, 17, 8, 19}
。
原始列表中的第一对折叠为 9 (7 + 2),第二对折叠为 17 (8 + 9),依此类推。如果列表存储了奇数个元素,则最后一个元素不会折叠。
例如,如果列表是{1, 2, 3, 4, 5}
,则调用将返回{3, 7, 5}
。您的方法不应更改作为参数传递的数组。
这是我目前编写的程序:
public static int[] collapse(int[] a1) {
int newArrayLength = a1.length / 2;
int[] collapsed = new int[newArrayLength];
int firstTwoSums = 0;
for (int i = 0; i < a1.length-1; i++) {
firstTwoSums = a1[i] + a1[i+1];
collapsed[collapsed.length-1] = firstTwoSums;
}
return collapsed;
}
我传入一个数组, {7, 2, 8, 9, 4, 13, 7, 1, 9, 10}
我想用{9, 17, 17, 8, 19}
.
注意:{9, 17, 17, 8, 19}
将通过我编写的for循环获得。
目前,我无法将获得的整数添加到“折叠”数组中。如果你能帮助我或者至少给我一些关于如何做到这一点的指导,那将是一个很大的帮助。
提前致谢!