在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; // 生成不重复随机数的数量 SetuniqueRandomNumbers = generateUniqueRandomNumbers(min, max, count); System.out.println("生成的随机数为: " + uniqueRandomNumbers); } public static Set generateUniqueRandomNumbers(int min, int max, int count) { if (count > (max - min + 1)) { throw new IllegalArgumentException("随机数的数量不能大于给定范围内的整数数量"); } Set 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
来存储生成的随机数,因为集合中的元素不允许重复。当集合的大小达到所需的随机数数量时,循环结束,返回包含不重复随机数的集合。