溫馨提示×

java隨機數如何避免重復

小樊
164
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
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女