晚上好,我想用不同的数字填充一个 5 x 5 的表格,我不想每列都有相同的数字,我有限制,应该属于某个限制,我能够做到,但没有知道如何避免表中的数字不超过一次
int num;
int [][] array = new int [5][5];
Random r = new Random();
for (int row = 0; row < array.length; row++) {
for (int col = 0; col < array[row].length; col++) {
if(row == 0){
num =r.nextInt(15);
array[row][col]=num;
}else if(row == 1){
num =r.nextInt(31-16)+16;
array[row][col]=num;
}else if(row == 2){
num =r.nextInt(45-31)+31;
array[row][col]=num;
}else if(row == 3){
num =r.nextInt(61-46)+46;
array[row][col]=num;
}else if(row == 4){
num =r.nextInt(75-61)+61;
array[row][col]=num;
}
}
}
最佳答案
对于每一行,创建一个包含它可以包含的整数的列表,然后打乱该列表(使用Collections.shuffle()
),并保留前 5 个元素。
或者,如果您的目标是使整个表具有不同的元素,请创建一个包含矩阵可以包含的所有整数的列表,然后打乱该列表,并迭代该列表以填充您的矩阵。
关于java - 二维数组如何避免相同的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16145853/