我试图在目前阶段,生成的15游戏的模拟从1-15打印随机产生的数字的2D阵列。这可能是一个输出,其中,所述空的空间可以是阵列中的任何点的例子:
1 3 5 6
7 9 10 13
2 4 8 11
12 14 15
public class Game {
public static void main(String[] args) {
Set set = new HashSet<>();
int gameboard[][] = new int[4][4];
while(set.size() != 4*4){
set.add((int)(1+Math.random() * 16));
}
List list = new ArrayList<>(set);
for (int row=0; row < gameboard.length; row++) {
for (int col=0; col < gameboard[row].length; col++) {
gameboard[row][col] = list.get(row*gameboard.length + col);
System.out.printf("%-4d",gameboard[row][col]);
}
System.out.println();
}
}
}
但是,我当前的代码打印1-15升序排序是这样的:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
我应该如何让数字加密和每次运行不同,以及有是一个空元素(如上面的输出),所以号范围从1-15?
java怎么让二维数组不重复_java - 如何创建具有随机产生的 非重复数二维数组? [重复] - SO中文参考 - ...