2016-12-15 30 views
0

にランダムな値を追加します。私はそれをこのint populations[][] = new int [300][1];に割り当てます。私は300の各行に1つのランダムな値(0から4まで)を割り当てたいと思っています。JAVAは、私は2次元配列を持つ2次元配列(境界例外のうち配列インデックス)

private void test(){ 

    for (int i = 0; i < 300; i++){ 

     for(int j = 0; j < 1; j++){ 

      populations[i][j] = random.nextInt(4); 

     } 
    } 

    System.out.println(populations.length); 
    System.out.println(Arrays.deepToString(populations)); 
} 

しかし、私は300の境界例外からアレイインデックスを取得しました。どうすれば修正できますか?

+4

http://stackoverflow.com/questions/5554734/what-c​​auses-a-java-lang-arrayindexoutofboundsexception-and-how-do-i-prevent-it – Reimeus

+2

300×1の次元の2D配列と300の1Dの配列の利点は何ですか? – Compass

+0

それは重複していません - OP問題は> =を使用していましたが、ここには該当しません。何が役立つかもしれない。また、完全なエラーを示すこのOP –

答えて

1

はよろしいですか?このプログラムはエラーなしで実行されます...

import java.util.Arrays; 
import java.util.Random; 

public class Rnd { 

    public static void main(String[] args) { 
     Random random = new Random(); 
     int[][] populations = new int[300][1]; 

     for(int i = 0; i < 300; i++) { 
      for(int j = 0; j < 1; j++) { 
       populations[i][j] = random.nextInt(4); 
      } 
     } 

     System.out.println(Arrays.toString(populations)); 
    } 
}