【发布时间】:2015-04-14 21:20:27
【问题描述】:
我必须创建一个具有随机行数 (5-10) 的二维锯齿状数组,每行具有随机长度 (5-10)。我用随机数填充了锯齿状数组。它应该看起来像这样:
2 4 1 5 3 8 6 3
2 5 8 9 7 4 3 5 6
6 7 9 3 5
2 6 7 8 4 5 3 6 7
1 4 2 2 1
这是我目前的createArray 方法
public static int [][] createArray(){
int row = (int)(Math.random()*5)+5;
int column = (int)(Math.random()*5)+5;
int[][]array = new int[row][];
for(int i = 0; i < array.length; i++){
for(int j = 0; j < array[i].length; j++){
//Fill the matrix with random numbers
array[i][j] = (int)(Math.random()*10);
}}
return array;
}//End createArray method
但是,这只是随机化行和列,并不会创建锯齿状数组。任何人都可以帮助我朝着正确的方向前进吗?非常感谢!
【问题讨论】:
-
您发布的代码导致
NullPointerException,因为您没有初始化数组的第二维(您设置了rows的数量,但没有设置@987654326 的数量@) 请记住,Java 的“二维数组”只是一个数组数组 - 参差不齐。
标签: java arrays random 2d jagged-arrays