溫馨提示×

java隨機數(shù)如何避免重復

小樊
82
2024-11-15 10:14:50
欄目: 編程語言

在Java中,要生成不重復的隨機數(shù),可以使用java.util.Set集合來存儲已經(jīng)生成的隨機數(shù),因為集合中的元素不允許重復。以下是一個示例代碼:

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; // 生成不重復隨機數(shù)的數(shù)量

        Set<Integer> uniqueRandomNumbers = generateUniqueRandomNumbers(min, max, count);
        System.out.println("生成的隨機數(shù)為: " + uniqueRandomNumbers);
    }

    public static Set<Integer> generateUniqueRandomNumbers(int min, int max, int count) {
        if (count > (max - min + 1)) {
            throw new IllegalArgumentException("隨機數(shù)的數(shù)量不能大于給定范圍內的整數(shù)數(shù)量");
        }

        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方法,該方法接受三個參數(shù):最小值、最大值和要生成的隨機數(shù)的數(shù)量。我們使用HashSet來存儲生成的隨機數(shù),因為集合中的元素不允許重復。當集合的大小達到所需的隨機數(shù)數(shù)量時,循環(huán)結束,返回包含不重復隨機數(shù)的集合。

0