Java生成四位随机数的方法有哪些?具体实现细节是怎样的?
- 后端开发
- 2025-09-13
- 8
在Java中生成一个四位数的随机数可以通过多种方法实现,以下是一些常见的方法和示例代码:
使用Random类和nextInt方法
Java的Random类可以用来生成随机数。nextInt(int bound)方法可以生成一个大于等于0且小于bound的随机整数,为了生成一个四位数,我们可以设置bound为10000。

使用Random类和nextInt方法,确保生成的数是四位数
如果想要确保生成的数是四位数,我们可以设置bound为10000,然后对生成的数进行判断,如果不是四位数,则重新生成。
import java.util.Random; public class RandomNumberGenerator { public static void main(String[] args) { Random random = new Random(); int randomNumber; do { randomNumber = random.nextInt(10000); } while (randomNumber < 1000 || randomNumber >= 10000); System.out.println("生成的四位数随机数是:" + randomNumber); } }
使用Random类和nextInt方法,直接生成1000到9999之间的随机数
我们可以直接设置bound为9000,然后对生成的数加上1000,这样就可以确保生成的数是四位数。
import java.util.Random; public class RandomNumberGenerator { public static void main(String[] args) { Random random = new Random(); int randomNumber = random.nextInt(9000) + 1000; System.out.println("生成的四位数随机数是:" + randomNumber); } }
使用Random类和nextInt方法,生成1000到9999之间的随机数,并确保每个数字都有相同的概率被选中
为了确保每个数字都有相同的概率被选中,我们可以使用nextInt(int bound)方法,然后对生成的数进行模运算,模数为10000。

import java.util.Random; public class RandomNumberGenerator { public static void main(String[] args) { Random random = new Random(); int randomNumber = random.nextInt(10000); System.out.println("生成的四位数随机数是:" + randomNumber); } }
使用Random类和nextInt方法,生成1000到9999之间的随机数,并确保每个数字都有相同的概率被选中,同时避免重复
为了避免重复,我们可以使用一个集合来存储已经生成的随机数,并在生成新的随机数时检查是否已经存在。
import java.util.HashSet; import java.util.Random; import java.util.Set; public class RandomNumberGenerator { public static void main(String[] args) { Random random = new Random(); Set<Integer> numbers = new HashSet<>(); while (numbers.size() < 10000) { int randomNumber = random.nextInt(10000) + 1000; numbers.add(randomNumber); } System.out.println("生成的四位数随机数集合是:" + numbers); } }
| 方法 | 代码示例 | 说明 |
|---|---|---|
| 方法一 | Random random = new Random(); int randomNumber = random.nextInt(10000); | 生成一个0到9999之间的随机数 |
| 方法二 | do { randomNumber = random.nextInt(10000); } while (randomNumber < 1000 || randomNumber >= 10000); | 确保生成的数是四位数 |
| 方法三 | int randomNumber = random.nextInt(9000) + 1000; | 直接生成1000到9999之间的随机数 |
| 方法四 | int randomNumber = random.nextInt(10000); | 生成1000到9999之间的随机数,每个数字都有相同的概率被选中 |
| 方法五 | while (numbers.size() < 10000) { int randomNumber = random.nextInt(10000) + 1000; numbers.add(randomNumber); } | 生成1000到9999之间的随机数,每个数字都有相同的概率被选中,且无重复 |
FAQs
Q1:如何生成一个0到999之间的随机数?

A1: 使用Random类和nextInt方法,设置bound为1000即可。
import java.util.Random; public class RandomNumberGenerator { public static void main(String[] args) { Random random = new Random(); int randomNumber = random.nextInt(1000); System.out.println("生成的0到999之间的随机数是:" + randomNumber); } }
Q2:如何生成一个指定范围内的随机数?
A2: 可以使用Random类和nextInt方法,然后通过计算来得到指定范围内的随机数,要生成一个100到200之间的随机数,可以使用以下代码:
import java.util.Random; public class RandomNumberGenerator { public static void main(String[] args) { Random random = new Random(); int min = 100; int max = 200; int randomNumber = random.nextInt(max min + 1) + min; System.out.println("生成的100到200之间的随机数是:" + randomNumber); } }