1

乱数を作成して配列 (arr) に追加しようとしています。私は答えを探しましたが、それらはすべて機能していないか、古くなっているようです。これが私が試したことです:

int[] arr = {};
int rand =  (int) Math.round(Math.random() * 100);
arr = append(arr, rand);

ただし、append の下に「The method append(int[], int) is undefined for the type new ActionListener(){}」という赤い行があるため、これは機能していないようです。助けていただければ幸いです。

4

7 に答える 7

8

最初に配列を次のように宣言します。

int[] arr;

格納する整数の数を知っていますか?

arr = 新しい int[10];

次に、for ループを使用して、配列内の各要素を調べます。

for (i=0; i<10; i++) {
  int rand = (int) Math.round(Math.random() * 100);
  arr[i] = rand;
}

配列から(Java ドキュメント)

お役に立てれば。

于 2013-07-18T13:32:05.347 に答える
4

配列に「追加」することはできません。Java の配列要素は変更可能ですが、配列の長さは作成時に設定され、後で変更することはできません。

サイズを変更できるコレクションが必要な場合は、必要なArrayList<Integer>数の要素を追加するために使用します。その後、リストを配列に変換できます。

于 2013-07-18T13:28:19.957 に答える
2

Java では、配列は固定長であるため、動的に追加することはできません。

リストに何かを追加したい場合は、 を使用する必要がありますArraylist

List<Integer> arr = new ArrayList<Integer>();
int rand =  (int) Math.round(Math.random() * 100);
arr.add(rand);
于 2013-07-18T13:30:33.483 に答える
0

要素を配列に「追加」する方法はありません。適切なサイズの新しい配列を作成し、古い要素をすべてコピーして、新しい要素を挿入する必要があります。別の方法は、ArrayList を使用することです。

于 2013-07-18T13:29:37.620 に答える
0

リストを使用しないのはなぜですか?

List<Integer> arr = new ArrayList<Integer>();
int rand =  (int) Math.round(Math.random() * 100);
arr.add(rand);
于 2013-07-18T13:31:18.810 に答える
0

デフォルトでは、Java コンパイラは、呼び出し元と同じクラスでメソッドを探します。この場合、匿名ActionListenerクラスのように見えるので、そこでappend(int[], int)メソッドを探しますが、見つかりません。

達成したい目標に戻ります。プリミティブ型の配列 (そのままint[]) にはメソッドがありません。だから私たちは少し助けが必要です。

まずList<Integer>、 を使用して配列を に変換できArrays.asList(T...)ます。次に、 をint呼び出して、そのリストに新しい を追加できList.add(E)ます。int[]最後に、を呼び出してその List を に戻すことができList.toArray(T[])ます。全体として、次のようになります。

int[] arr = {};
List<Integer> list = Arrays.asList(arr);
list.add((int) Math.round(Math.random() * 100));
arr = list.toArray(arr);
于 2013-07-18T13:31:40.033 に答える