【发布时间】:2019-10-05 12:43:34
【问题描述】:
我想制作一个二维数组,例如 {{2,5,5,2,4,7,6},{5,2,6,7,4,5,2}} 数组的前半部分是随机整数,数组的后半部分是数组前半部分的随机成员。这样我就有了成对的每个随机数。到目前为止,这是我的代码,它给了我一个带有随机数的数组。我不知道该怎么做的部分是数组的后半部分。请帮忙!
private int[][] board;
private int[] arr = {1,2,3,4,5,6,7,8};
public Board() {
board = new int[DEFAULT_SIZE][DEFAULT_SIZE];
for (int i=0;i<board.length;i++) {
for (int j=0;j<board.length;j++) {
board[i][j] = (int) (Math.random()*10);
}
}
【问题讨论】:
-
您想要的是随机播放您的原始随机列表的副本。查看
Collections.shuffle的文档;你可以自己实现相同的算法,或者如果你不介意在数组和列表之间转换的麻烦,就使用Collections.shuffle。 -
但是我将如何制作一个整数数组列表 2d?或者我如何在数组上实现它?我很困惑我很抱歉
-
假设您只需要整个后半部分是整个前半部分的打乱版本,从 all 的行中取 all 的数字上半场并将它们放在一个
ArrayList中进行洗牌。然后将打乱后的数字依次读出,分配到后半部分的行列中。