温馨提示×

java随机数如何避免重复

小樊
81
2024-11-15 10:14:50
栏目: 编程语言

在Java中,要生成不重复的随机数,可以使用java.util.Set集合来存储已经生成的随机数,因为集合中的元素不允许重复。以下是一个示例代码:

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

public class UniqueRandomNumbers {
    public static void main(String[] args) {
        int min = 1; // 最小值
        int max = 100; // 最大值
        int count = 10; // 生成不重复随机数的数量

        Set<Integer> uniqueRandomNumbers = generateUniqueRandomNumbers(min, max, count);
        System.out.println("生成的随机数为: " + uniqueRandomNumbers);
    }

    public static Set<Integer> generateUniqueRandomNumbers(int min, int max, int count) {
        if (count > (max - min + 1)) {
            throw new IllegalArgumentException("随机数的数量不能大于给定范围内的整数数量");
        }

        Set<Integer> uniqueRandomNumbers = new HashSet<>();
        Random random = new Random();

        while (uniqueRandomNumbers.size() < count) {
            int randomNumber = random.nextInt(max - min + 1) + min;
            uniqueRandomNumbers.add(randomNumber);
        }

        return uniqueRandomNumbers;
    }
}

在这个示例中,我们定义了一个generateUniqueRandomNumbers方法,该方法接受三个参数:最小值、最大值和要生成的随机数的数量。我们使用HashSet来存储生成的随机数,因为集合中的元素不允许重复。当集合的大小达到所需的随机数数量时,循环结束,返回包含不重复随机数的集合。

0