我试图使用随机生成器生成二维数组。基本上,每一列都应该包含一个不重复的 1-50 之间的随机值,但问题是,我无法在同一行或程序中的任何其他行或列上获得重复值。换句话说,每个 I 整数应该只显示一次。我的对象是通过链表创建的,一旦我弄清楚了,我可能会将算法集成到那里,但现在,这就是我所做的。
int[] array = new int[50];
for(int i=1;i<=9;i++)
{
int[] grades = new int[5];
for(int j=0;j<=4;j++)
{
int unique = gen.nextInt(50)+1;
grades[j] = unique;
}
list.add(new Student(i, grades));
}
System.out.println(list);
我的输出:
Student1: 20 49 45 16 13
Student2: 28 10 11 30 6
Student3: 13 25 37 31 49
Student4: 8 23 8 12 32
Student5: 22 18 35 2 7
Student6: 35 8 16 23 36
Student7: 35 3 15 42 2
Student8: 43 12 44 2 35
Student9: 12 21 36 23 12
所以我的问题是这样的。如何在不重复值的情况下实现随机生成。通常我现在会尝试收集列表,但我正在尝试使用 java.util.Random 来执行此操作 就我个人而言,我会以不同的方式执行此操作,但我得到了指示。谢谢