我很难弄清楚如何生成范围为 1-8 的两次重复随机数并使其成为这样的矩阵:
5 8 2 5
3 6 4 1
7 6 2 3
4 7 8 1
顺便说一句,我打算在安卓上做这个。
提前致谢。
最佳答案
我假设您想要一个包含所有数字 1-8 两次的随机 4x4 矩阵。
您可以轻松地将 16 个数字的列表转换为 4x4 矩阵。因此,您需要的是 1-8 个数字的随机列表。
List<Integer> list = new ArrayList<Integer>();
for (int i = 1; i <= 8; i++) {
list.add(i);
list.add(i);
}
// list = [1,1,2,2,3,3,..,8,8];
Collections.shuffle(list);
// gives something like [1,4,5,2,4,7,..8,1]
要将此列表转换为矩阵,只需逐行读取,一次读取 4 个数字。
关于android - 如何制作组合随机数矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6608938/