java如何实现随机数
生成随机整数
使用 java.util.Random 类生成指定范围内的随机整数。通过 nextInt(int bound) 方法可以生成 0 到 bound-1 的随机数。
Random random = new Random();
int randomNumber = random.nextInt(100); // 生成 0 到 99 的随机整数
如果需要生成特定范围的随机数(如 min 到 max),可以通过以下方式调整:
int min = 10;
int max = 50;
int randomInRange = random.nextInt(max - min + 1) + min; // 生成 10 到 50 的随机数
生成随机浮点数
Random 类的 nextDouble() 方法可以生成 0.0 到 1.0 之间的随机浮点数。

double randomDouble = random.nextDouble(); // 生成 0.0 到 1.0 的随机浮点数
如果需要生成指定范围的浮点数:
double min = 5.0;
double max = 10.0;
double randomDoubleInRange = min + (max - min) * random.nextDouble(); // 生成 5.0 到 10.0 的随机数
使用 ThreadLocalRandom(多线程场景)
在并发环境下,推荐使用 ThreadLocalRandom,它是 Random 的线程安全版本。

import java.util.concurrent.ThreadLocalRandom;
int randomNum = ThreadLocalRandom.current().nextInt(1, 101); // 生成 1 到 100 的随机数
double randomDouble = ThreadLocalRandom.current().nextDouble(1.0, 5.0); // 生成 1.0 到 5.0 的随机浮点数
使用 Math.random()
Math.random() 是简化的随机数生成方法,返回 0.0 到 1.0 的 double 值。
double randomValue = Math.random(); // 生成 0.0 到 1.0 的随机数
转换为整数范围:
int randomInt = (int)(Math.random() * 100); // 生成 0 到 99 的随机整数
生成密码安全的随机数
对于加密或安全敏感场景,使用 java.security.SecureRandom。
SecureRandom secureRandom = new SecureRandom();
int secureRandomNum = secureRandom.nextInt(1000); // 生成 0 到 999 的安全随机数
byte[] bytes = new byte[32];
secureRandom.nextBytes(bytes); // 生成随机字节数组






