java中如何实现随机三个数

java中如何实现随机三个数

作者:Joshua Lee发布时间:2026-02-03阅读时长:0 分钟阅读次数:5

用户关注问题

Q
如何在Java中生成三个不同的随机数?

我想在Java程序里生成三个不重复的随机整数,应该怎样实现?

A

生成三个互不相同随机数的方法

可以使用一个Set集合来存储随机数,因为Set不允许重复元素。使用一个循环,每次生成一个随机数后尝试放入Set中,直到Set的大小达到3为止。这样能保证生成三个不同的随机数。示例代码如下:

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

public class RandomNumbers {
    public static void main(String[] args) {
        Random rand = new Random();
        Set<Integer> numbers = new HashSet<>();
        while (numbers.size() < 3) {
            int num = rand.nextInt(100); // 生成0-99之间的随机数
            numbers.add(num);
        }
        System.out.println("三个不同的随机数: " + numbers);
    }
}
Q
怎样使用Java的Random类生成指定范围内的三个随机数?

如何利用Java的Random类生成范围在一定区间内(比如1到50)的三个随机数字?

A

利用Random类生成指定范围内的随机数字

Java的Random类提供了nextInt(int bound)方法,可以生成从0到bound-1之间的随机整数。要生成1到50之间的随机数,可以调用nextInt(50)然后再加1。可以重复调用该方法三次来生成三个随机数字。示例:

import java.util.Random;

public class RandomRange {
    public static void main(String[] args) {
        Random rand = new Random();
        int num1 = rand.nextInt(50) + 1;
        int num2 = rand.nextInt(50) + 1;
        int num3 = rand.nextInt(50) + 1;
        System.out.println("三个随机数分别是: " + num1 + ", " + num2 + ", " + num3);
    }
}
Q
在Java中生成随机数时,如何避免生成重复的三个数字?

我想用Java生成三个随机数,但不希望这三个数字中有重复的,应该怎么做?

A

避免生成重复随机数的常见方法

可选的方式是先在一个列表中放入所需范围内的所有数字,例如1到100,然后使用Collections.shuffle()方法打乱列表顺序,最后从打乱后的列表前3个元素取出即可保证不重复。示例:

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class UniqueRandom {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        for (int i = 1; i <= 100; i++) {
            list.add(i);
        }
        Collections.shuffle(list);
        System.out.println("三个不重复的随机数: " + list.subList(0, 3));
    }
}