3

可変量に基づいてJavaで配列を作成する方法があるかどうか疑問に思っています。したがって、10個の配列を作成する必要がある場合、ループは10個になります(すべて順番に名前が付けられます)。しかし、10 個の配列が必要ない場合、ループは必要な数だけ作成します。

私は次のようなものを想定しています:

for(i=0 up to i=imax)

create arrayi

ここで、i は for ループ内の変数です。

imax が 3 に設定されている場合、array0、array1、array2、array3 が生成されます。

ありがとう。

4

3 に答える 3

7

はい; 配列の配列を作成できます。の配列が必要だとしましょうint:

int numberOfArrays = 10;
int[][] arrays = new int[numberOfArrays][];
for (int i = 0; i < numberOfArrays; i++)
    arrays[i] = new int[x]; // Where x is the size you want array i to be

ただし、 、 などの変数を動的に作成することはできません。多次元配列では、このような変数のコレクションは必要ありません。を使用して配列コレクションにインデックスを付けることができるため、これもより柔軟です。array0array1arrays[0]arrays[1]arrays[i]array0array1

于 2011-06-03T21:36:39.300 に答える
0

これを行う機会はありません.2次元配列のアプローチを取る必要があります...

于 2011-06-03T21:34:04.847 に答える
0

Java では、この種のメタプログラミングは許可されていません。プログラムで変数を宣言することはできません。

@Aasmund が書いているように、できることは、配列を保持する配列を宣言することです。

あなたの特定の質問について、これは結果が望むものです:

String[][] array = new String[IMAX][];
for (int i = 0; i < array.length; ++i) {
  array[i] = createArray(...);
}

// cannot use 'array2', but something close:
String[] contents = array[2];
于 2011-06-03T21:45:28.213 に答える