Java中生成随机数并避免重复的实现方法

概述

本文将介绍如何在Java中生成随机数并避免重复的实现方法。我们将采用以下步骤来完成这个任务:

  1. 创建一个容器来存储已生成的随机数。
  2. 生成随机数时,先检查该随机数是否已存在于容器中。
  3. 如果随机数已存在,则重新生成随机数。
  4. 如果随机数不存在,则将其添加到容器中,并继续生成下一个随机数。

代码实现

下面是实现上述步骤的Java代码:

import java.util.HashSet;
import java.util.Random;
import java.util.Set;

public class RandomNumberGenerator {
    private Set<Integer> generatedNumbers;
    private Random random;

    public RandomNumberGenerator() {
        generatedNumbers = new HashSet<>();
        random = new Random();
    }
    
    public int generateUniqueRandomNumber(int min, int max) {
        int randomNumber = random.nextInt(max - min + 1) + min;
        while (generatedNumbers.contains(randomNumber)) {
            randomNumber = random.nextInt(max - min + 1) + min;
        }
        generatedNumbers.add(randomNumber);
        return randomNumber;
    }
}

代码解释:

  • 我们首先创建了一个Set类型的容器generatedNumbers,用于存储已生成的随机数。
  • 在构造方法中,我们初始化了容器generatedNumbersRandom对象random
  • generateUniqueRandomNumber方法用于生成一个在指定范围内的随机数,并保证其唯一性。
  • 在方法中,我们首先生成一个随机数randomNumber,该随机数的范围为minmax之间。
  • 接着,我们使用一个while循环来检查该随机数是否已存在于容器中。如果已存在,则重新生成一个新的随机数。
  • 当生成的随机数不存在于容器中时,我们将其添加到容器中,并返回该随机数。

流程图

下面是生成随机数并避免重复的流程图:

sequenceDiagram
    participant 小白
    participant 开发者

    小白->>开发者: 提问如何生成随机数并避免重复
    开发者->>小白: 解答并给出代码示例

关系图

下面是生成随机数并避免重复的关系图:

erDiagram
    RANDOM_NUMBER_GENERATOR {
        int generatedNumber
    }

总结

本文介绍了在Java中生成随机数并避免重复的实现方法。我们使用了一个容器来存储已生成的随机数,并通过检查随机数是否已存在于容器中来确保生成的随机数的唯一性。希望本文能对刚入行的小白们有所帮助。