1

一連の人がforループで生成され、それらをさまざまなクラスで使用して特定のタスクを実行するシミュレーションを実行しようとしています。

プログラムからすべてのオブジェクトにアクセスできるようにしながら、n個の人のオブジェクトを生成する方法がよくわかりません(つまり、メソッドを使用できるように変数名を使用します)

4

3 に答える 3

2

-Collectionフレームワークを使用

- Mapこの実装に適しています。

Map<String,Person> personMap = HashMap<String,Person>();

personMap.put("person1",new Person("Vivek"));
personMap.put("person2",new Person("Vicky"));
于 2012-10-06T13:21:29.043 に答える
1

通常、実行中のプログラム内から新しいソースコードを作成することはできません(ここで必要とは思わないバイトコード生成とクラスローダーに移動しない限り)。

それ以外の

Person a = new Person("A");
Person b = new Person("B");
a.doStuff();
b.doStuff();

マップ(テストされていない)を持つことを検討してください:

Map<String, Person> map = new HashMap();
map.put("a", new Person("A"));
map.put("b", new Person("B"));

map.get("a").doStuff(); // on A
map.get("b").doStuff(); // on B
于 2012-10-06T13:13:49.250 に答える
1

配列を使用できます。

// create people
int n = 30;
Human[] human = new Human[n];    
for (int i=0; i<n; i++) {
  human[i] = new Human();
}

// access specific person
human[3].doSomething();
// access all people
for (Human h:human) {
  h.doSomething();
}

代替案:人物のリスト/セット/マップを使用します。

于 2012-10-06T13:14:05.890 に答える