生成n个不同的随机数

1. 流程概述

生成n个不同的随机数的过程可以分为以下几个步骤:

  1. 创建一个空的列表来存储生成的随机数。
  2. 判断列表中的元素个数是否达到n个,如果是,则结束;如果不是,则继续下一步。
  3. 生成一个随机数。
  4. 检查该随机数是否已经在列表中存在,如果已存在,则返回到步骤3,重新生成随机数;如果不存在,则将该随机数添加到列表中,并返回到步骤2。

下面将逐步展示如何实现这个流程。

2. 代码实现

首先,我们需要使用Java的java.util.Random类来生成随机数。该类提供了多种方法来生成不同类型的随机数。在本例中,我们将使用nextInt()方法生成int类型的随机数。

import java.util.ArrayList;
import java.util.List;
import java.util.Random;

public class RandomNumberGenerator {
    public static List<Integer> generateRandomNumbers(int n) {
        List<Integer> randomNumbers = new ArrayList<Integer>();
        Random random = new Random();
        
        while (randomNumbers.size() < n) {
            int randomNumber = random.nextInt();
            
            if (!randomNumbers.contains(randomNumber)) {
                randomNumbers.add(randomNumber);
            }
        }
        
        return randomNumbers;
    }
}

以上代码定义了一个名为RandomNumberGenerator的类,其中包含了一个名为generateRandomNumbers()的静态方法。该方法接受一个整数参数n,表示需要生成的随机数的个数,并返回一个包含n个不同随机数的列表。

具体实现中,我们使用了java.util.ArrayList来存储随机数,并使用java.util.Random类来生成随机数。在while循环中,我们首先使用nextInt()方法生成一个随机数,并通过contains()方法检查该随机数是否已经在列表中存在。如果不存在,则将其添加到列表中;如果存在,则继续生成下一个随机数。

3. 使用示例

下面是一个使用示例,展示了如何调用generateRandomNumbers()方法来生成10个不同的随机数并输出结果。

import java.util.List;

public class Main {
    public static void main(String[] args) {
        List<Integer> randomNumbers = RandomNumberGenerator.generateRandomNumbers(10);
        
        for (int randomNumber : randomNumbers) {
            System.out.println(randomNumber);
        }
    }
}

以上代码中,我们首先导入了java.util.List类,然后在main()方法中调用了generateRandomNumbers()方法来生成10个不同的随机数,并将结果存储在名为randomNumbers的列表中。最后,使用for循环遍历该列表,并逐个输出随机数。

4. 总结

通过上述步骤,我们可以实现生成n个不同随机数的功能。其中关键的代码包括使用java.util.Random类生成随机数,以及使用java.util.ArrayList类存储随机数并进行判断是否重复。通过循环判断和条件判断,我们可以确保生成的随机数是不重复的。这样,我们就可以通过调用相应的方法来获取需要的随机数列表了。