Java生成五位不重复随机数

在编程中,生成随机数是一项常见的需求。而生成指定位数的不重复随机数,更是一个有趣且有挑战性的问题。本文将介绍如何使用Java生成五位不重复的随机数,并提供完整的代码示例。

什么是不重复随机数?

不重复随机数是指生成的随机数中没有重复的数字。在本文中,我们要生成的是五位数,因此需要确保生成的五位数中的每个数字都不重复。

解决方案

为了生成五位不重复的随机数,我们可以采用以下步骤:

  1. 创建一个集合,用于存储已生成的数字。
  2. 使用Java的Random类生成一个随机数。
  3. 判断随机数是否已经存在于集合中,如果存在则重新生成,直到生成一个不存在于集合中的随机数。
  4. 将生成的随机数添加到集合中。
  5. 重复步骤2-4,直到集合中的数字个数达到五个。

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

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

public class RandomNumberGenerator {
    public static void main(String[] args) {
        Set<Integer> numbers = new HashSet<>();
        Random random = new Random();

        while (numbers.size() < 5) {
            int randomNumber = random.nextInt(10);
            if (!numbers.contains(randomNumber)) {
                numbers.add(randomNumber);
            }
        }

        System.out.println("生成的五位不重复随机数为:");
        for (Integer number : numbers) {
            System.out.print(number);
        }
    }
}

代码解析

以上代码使用了HashSet集合来存储已生成的数字,HashSet是一个不允许有重复元素的集合。我们使用Random类生成0到9的随机数,然后通过判断这个随机数是否已经存在于集合中来确保生成的随机数不重复。最终,我们打印出生成的五位不重复随机数。

程序运行结果

运行以上代码,输出结果可能如下:

生成的五位不重复随机数为:48257

旅行图

下面是本文提到的生成五位不重复随机数的旅行图:

journey
    title 生成五位不重复随机数
    section 初始化
    初始集合-->生成随机数
    section 判断重复
    生成随机数--已存在于集合中-->重新生成随机数
    section 添加到集合
    重新生成随机数--不存在于集合中-->添加到集合
    section 终止条件
    集合中数字个数达到五个-->结束

类图

下面是本文提到的生成五位不重复随机数的类图:

classDiagram
    RandomNumberGenerator <|-- Random
    RandomNumberGenerator <|-- Set
    RandomNumberGenerator : size()
    RandomNumberGenerator : contains()
    RandomNumberGenerator : add()
    Set <|-- HashSet
    HashSet : add()

结语

本文介绍了如何使用Java生成五位不重复随机数。通过使用集合来存储已生成的数字,并结合Random类生成随机数,并通过判断和添加操作确保生成的随机数不重复,我们最终获得了五位不重复的随机数。希望本文对您了解如何生成不重复随机数有所帮助!