我只想知道如何限制随机数出现的次数。我生成了 1 到 10 的随机数,并希望限制每个数字出现 4 次。
myArray[i][j] = rand.nextInt(11);
for (int i=0; i < myArray.length; i++) {
for (int j=0; j < myArray[i].length; j++) {
myArray[i][j] = rand.nextInt(11);
System.out.print(" " + myArray[i][j]);
上面的代码创建了随机数。只是想限制他们。
最佳答案
由于您被限制为 10 * 4 = 40 个数字,您可以使用列表并随机化索引:
List<Integer> numbers = new ArrayList<Integer>();
for (int i = 1; i < 11; ++i) {
for (int j = 0; j < 4; ++j)
numbers.add(i);
}
然后当你分配一个随机数时:
int i = rand.nextInt(numbers.size());
myArray[i][j] = numbers.get(i);
numbers.remove(i);
这假设您的二维不会包含超过 40 个数字
关于java - 限制重复的随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21703867/