1)配列はその内容よりも長いです。配列は固定長であるため、これらの余分なスポットは0である何かを保持する必要があります。
(x%2==0)2)均一性のテストは0に対して真を返すため、可能であれば偶数リストに0を追加する必要があります。
3)実際に必要なものより1つ長く配列を作成し、使用する必要がint[] oddList = new int[a.length+1];ありますarray[array.length-1] = averageAndGreater(input2);
適切なサイズの配列を取得する最も簡単な方法は、おそらくJavaに組み込まれているArrayListクラスを使用することです。必要な長さがわかっている場合は、メソッドの最後で配列を再作成することもできます。次のように:
int array = new int[total];
for (int i=0; i<total; ++i) {
array[i] = oddList[i];
}
return array;
編集:偶数と奇数のリストには負の数が含まれます。これが意図的なものかどうかはわかりませんが、((a[i] % 2 == 0) && a[i] >= 0)偶数のテストとして使用することを拒否します。