0

ちょっと、そこ。ここのJava初心者:)まあ、私はこのプログラムでいくつかの問題を抱えています:http: //pastie.org/private/sfqqnqwxtpgtuhswpqepw

1)プログラムで、「入力」配列をoddList、evenList、およびnegativeListの配列セットに分割したい。ただし、分割すると、要素の束が「0」として追加されます。

2)0はoddListにのみ追加する必要があります。

3)averageAndGreater()から配列の最後に平均を追加する方法がわかりません。

ありがとう :)

4

2 に答える 2

4

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)偶数のテストとして使用することを拒否します。

于 2010-01-24T22:10:38.603 に答える
1

これは、返される配列の長さが元の配列の長さに次のように初期化されるためです。

int[] oddList = new int[a.length];
于 2010-01-24T22:13:42.153 に答える