2017-01-10 9 views
0

NxN諸国の世界が広がる伝染病の拡散をシミュレートする必要があります。当初は世界でP人になることがあります。そして、各国に無作為に人を一律に配属しなければなりません。NxNグリッドは各国と各国に若干の人口を持っています

私が抱えている問題は、各国に多数の人を割り当てるにはどうしたらいいですか?私は、このような

String[][] world = new String[2][2]; 

として配列を持っている場合は

は、私は今、4カ国を持っていると私はループに使用してグリッドとしてそれらを表示することができます。

今、世界[0] [0]は、国がそれに人々がいるリストを指す必要があります。

私は、リスト内

ArrayList<ArrayList<human>> world2 = new ArrayList<ArrayList<human>>(); 
ArrayList<human> country1 = new ArrayList<human>(); 


for(int i=0; i<5; i++){ 
    human h = new human(); 
    country1.add(i,h); 
} 

world2.add(country1); 

ArrayList<human> country2 = new ArrayList<human>(); 
human h = new human(); 
country2.add(h); 
world2.add(country2); 

for (int i=0; i<world2.size(); i++){ 
    System.out.println(world2.get(i)); 
} 

をリストを試みたが、どのように私は、グリッド形式でそれを印刷しますか?

EDIT1:

String[][] world = new String[2][2]; 
    for (int row = 0; row < world.length; row++) { 
      System.out.print("|"); 
      for (int col = 0; col < world.length; col++) { 
       System.out.print(world[row][col] + "| "); 
      } 
      System.out.println(); 
     } 

OUTPUT:

|null| null| 
|null| null| 
+0

'Human'で' toString'メソッドを定義し、上記の 'String'の行列で説明したようにループに使用しましたか? –

+0

はい私は人間のクラスのtoStringを持って、現在それは "人間"を返します。リストメソッド内のリストは良いですが、私が直面している問題は、それをどのようにgird形式で印刷するのでしょうか? – indexOutOfBounds

+0

'String'マトリックスの例で参照した期待される出力を提供できますか?その場合に使用したコードも参考になります。 –

答えて

1

整数の3D ArrayListを介してこの意志ループ当たりすべての整数の内容を印刷[行] [COL]世界のグリッドのあなたは私がIntegerを持っているところにあなたのHumanオブジェクトを補足するだけです。

私は3つの機能を1つは3Dアーリーリストに、もう1つはそれを印刷することをお勧めします。以下

printHumanGrid(create3D()); 

出力を実行する:

|0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,||0,1,2,3,4,5,6,7,8,9,||0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,| 
|0,1,2,3,4,5,6,7,8,9,||0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,||0,1,2,3,| 
|0,1,2,3,4,5,6,7,8,9,||0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,||0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,| 

各行はグリッドの行です。これを追加することができます。おそらく、それを書式設定するための機能を追加することができます。がんばろう!

+0

ありがとう:) – indexOutOfBounds

関連する問題