通过不使用 Collection Shuffle 来防止重复数字 [Java]

prevent repetition of the numbers by not use of Collection Shuffle [Java]

我在我的代码中使用了随机函数,但是我不知道如何防止 repetition.Also 我阅读了关于这个主题的另一个问题,但我不想使用 "Shuffle"。

感谢所有帮助和线索。

设置不允许重复

Set set = new HashSet();

while (set.size() < 20) {
    set.add(r.nextInt(100));
}

根据定义,随机性包括重复的可能性,因为每个计算出的随机数都独立于之前的随机数。

您应该更新您的逻辑,例如将生成的数字保存到列表中,并检查该数字是否包含在该列表中。如果是,循环直到生成一个新的。

您还可以添加最大循环次数以避免程序永远挂起。

您应该遵循以下算法步骤来获得需求的解决方案:

  1. 声明辅助容器来存储你的ATN号码,这里Set是合适的,因为Set不允许重复输入。

  2. 生成随机数。

  3. 检查您的辅助容器中是否有此物品?

  4. 是然后转到步骤 2。

  5. 否则保存到辅助存储

  6. 执行您的业务逻辑。