プログラムタスクは次のとおりです。
整数の配列をパラメーターとして受け取り、整数の各ペアをそのペアの合計で置き換えた結果を含む新しい配列を返す、collapseというメソッドを記述します。
たとえば、listという配列に値が格納されている場合
{7, 2, 8, 9, 4, 13, 7, 1, 9, 10}
次に、の呼び出しは、collapse(list)
以下を含む新しい配列を返す必要があります
{9, 17, 17, 8, 19}
。
元のリストの最初のペアは9(7 + 2)に折りたたまれ、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ループを介して取得されます。
現在、取得した整数を「折りたたまれた」配列に追加するのに問題があります。あなたが私を助けてくれるか、少なくともこれを行う方法について私にいくつかのガイダンスを与えることができれば、それは大きな助けになるでしょう。
前もって感謝します!