我想创建一组随机数,在Java中没有重复项。
例如,我有一个数组来存储10,000个从0到9999的随机整数。
这是我到目前为止的内容:
import java.util.Random;
public class Sort{
public static void main(String[] args){
int[] nums = new int[10000];
Random randomGenerator = new Random();
for (int i = 0; i < nums.length; ++i){
nums[i] = randomGenerator.nextInt(10000);
}
}
}
但是上面的代码创建重复项。如何确保随机数不重复?
Integer[] arr = {...};
Collections.shuffle(Arrays.asList(arr));
例如:
public static void main(String[] args) {
Integer[] arr = new Integer[1000];
for (int i = 0; i < arr.length; i++) {
arr[i] = i;
}
Collections.shuffle(Arrays.asList(arr));
System.out.println(Arrays.toString(arr));
}
问题内容: 我有以下功能 基本上,我正在创建一个介于1到10之间的随机数,并通过将其添加到数组中并检查新创建的数字来检查该数字是否已创建。我通过将其添加到变量中来调用它。 这可行,但是在Chrome浏览器中出现以下错误: 我猜这是因为我在内部调用了太多次该函数。这意味着我的代码不好。 有人可以在逻辑上帮助我吗?确保我的数字不重复的最佳方法是什么? 问题答案: 如果我理解正确,那么您只是在寻找数字1
问题内容: 好的,这是一个比听起来更棘手的问题之一,所以我转向堆栈溢出,因为我想不到一个好的答案。这就是我想要的:我需要Python以随机顺序生成一个从0到1,000,000,000的简单数字列表,以用于序列号(使用随机数,这样您就无法知道已分配了多少个数字或进行了计时攻击也很容易,例如,猜测将要发生的下一个攻击)。这些数字与链接到它们的信息一起存储在数据库表(索引)中。生成它们的程序不会永远运行
我想生成1到4范围内的随机数,4包括。 以下是我的代码: 然而,我在循环中运行上述代码,不希望重复随机数。现在发生的事情通常是: 作为我的输出。 在这里,虽然数字在范围(1-4)内是随机的,但在前3次迭代中经常像数字“1”一样重复。 我正在寻找的是一种在循环中获得非重复随机数的方法。我知道的一个简单的方法是在当前迭代和比较之前保留最后一个随机数,但我相信一定有更好的解决方案。 提前谢谢。
本文向大家介绍如何在Python中生成非重复随机数?,包括了如何在Python中生成非重复随机数?的使用技巧和注意事项,需要的朋友参考一下 接下来的程序会生成10个介于1到100之间的随机非重复整数。它会在给定的时间间隔内生成一个随机整数,如果先前未添加过该整数,则将其添加到列表中。
问题内容: 作为我项目的一部分,我需要通过提供一组数字来创建不重复的2或3位数字随机数。我不想为此实现一个列表或数组,因为我应该为每个函数调用获取1个随机数。 我尝试使用Java的SecureRandom类来做到这一点。我也从某些站点获得了帮助,但是我陷入了困境,我们可以改组VALUES并完成它吗?但是我不知道该怎么办。谁能帮我? 问题答案: Fisher- yates随机播放算法 是必经之路。其
如何在1到9之间生成9个随机数,而不重复,一个接一个。它类似于:假设生成的第一个随机数是4,那么下一个随机数必须在[1,9]{4}中。我的第一种方法是将每个随机生成的数字添加到一个集合中,从而避免重复。但在更糟糕的情况下,比如我们已经生成了6个数字,我们必须再生成3个数字,这个过程会有点慢。当范围从[1,9]更改为[1,1000]时,这种方法听起来不正确。有人能提出一个替代方法吗。