我试图生成一个多维数组,该数组对生成的随机整数起作用。我无法这样做,因为它无法正常工作。
public class Gen(){
public static void main(String[] args){
int randomRow, randomCol;
int[][] array1 = new int[61][50];
for(int row = 0; row < array1.length; row++){
for(int col = 0; col < array1.length; col++){
randomRow = 1 + (int)(Math.random() * 100);
randomCol = 1 + (int)(Math.random() * 100);
array1[row][col] = array1[randomRow][randomCol];
System.out.println(array1[row][col] + "/n");
}
}
}
}
但这不起作用。有什么理由吗?
答案 0 :(得分:2)
我认为你要做的是将0到99之间的随机数放在一个数组中。那是对的吗?如果是这样的话:
Random random = new Random();
for (int i = 0; i < array.length; i++)
for (int j = 0; j < array[i].length; j++)
array[i][j] = 1 + random.nextInt(100);
请注意,如果您使用的是Java 8,那么生成随机整数数组的技巧比为每个位置分配随机值更简单:
array[] = random.ints(60, 1, 101).toArray();
答案 1 :(得分:1)
更改为
for(int col = 0; col < array1[0].length; col++){
<强> BUT 强>
这不安全
array1[row][col] = array1[randomRow][randomCol];
randomRow可能高达100,但阵列只有61
randomCol的类似问题
但是你真的想做什么。这个数组中的值都是0,所以将一个索引的值重新分配给另一个索引,以便实现任何目标。
修改强>
基于以下评论,您似乎想要用随机数填充您的数组然后可以通过@sprinters回答来实现
Random random = new Random();
for (int i = 0; i < array.length; i++)
for (int j = 0; j < array[0].length; j++)
array[i][j] = 1 + random.nextInt(100);