gpt4 book ai didi

java - 如何制作不同长度的随机二维锯齿状数组?

转载 作者:行者123 更新时间:2023-12-01 11:39:43 24 4
gpt4 key购买 nike

我必须创建一个具有随机行数 (5-10) 的 2D 锯齿状数组,每行具有随机长度 (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

但是,这只是随机化行和列,并不会创建锯齿状数组。谁能帮助引导我走向正确的方向?非常感谢!

最佳答案

正如 @DoubleDouble 所说,您的代码会抛出 NullPointerException

看起来你想要这样的东西:

public static int [][] createArray(){
int row = (int)(Math.random()*5)+5;
//int column = (int)(Math.random()*5)+5; //not needed

int[][] array = new int[row][];

for(int i = 0; i < array.length; i++){

int column = (int)(Math.random()*5)+5; //create your random column count on each iteration
array[i] = new int[column]; //Initialize with each random column count

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

当然,每次运行它都会产生不同的结果,但以下是它将输出的示例:

1 2 5 4 3 9 2 7 9 
4 1 4 2 2 6
9 5 7 8 7 8 4 2
8 3 8 7 9 4 0
0 2 1 4 9 3 7 8
4 0 3 8 3
1 3 8 9 9 8

关于java - 如何制作不同长度的随机二维锯齿状数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29637606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com