在 Java 中,有多种方法可以生成随机数。下面我将介绍几种常用的生成随机数的方式,并提供每种方式的步骤流程和示例代码。
java.util.Random 类是 Java 标准库提供的生成随机数的工具类。
步骤流程:
Random 对象。Random 对象的方法生成随机数。示例代码:
import java.util.Random;
public class RandomExample {
    public static void main(String[] args) {
        Random random = new Random();
        // 生成一个随机的整数
        int randomInt = random.nextInt();
        System.out.println("Random Integer: " + randomInt);
        // 生成一个在指定范围内的随机整数(包括下界,不包括上界)
        int min = 1;
        int max = 10;
        int randomInRange = random.nextInt(max - min) + min;
        System.out.println("Random Integer in Range: " + randomInRange);
        // 生成一个随机的浮点数
        double randomDouble = random.nextDouble();
        System.out.println("Random Double: " + randomDouble);
    }
}
java.lang.Math 类中的一些方法也可以用来生成随机数。
步骤流程:
使用 Math 类的方法生成随机数。
示例代码:
public class MathRandomExample {
    public static void main(String[] args) {
        // 生成一个随机的浮点数(范围:[0.0, 1.0))
        double randomDouble = Math.random();
        System.out.println("Random Double: " + randomDouble);
        // 生成一个在指定范围内的随机整数(范围:[min, max))
        int min = 1;
        int max = 10;
        int randomInRange = min + (int) (Math.random() * (max - min));
        System.out.println("Random Integer in Range: " + randomInRange);
    }
}
java.security.SecureRandom 类提供了更安全的随机数生成,适用于加密等敏感场景。
步骤流程:
SecureRandom 对象。SecureRandom 对象的方法生成随机数。示例代码:
import java.security.SecureRandom;
public class SecureRandomExample {
    public static void main(String[] args) {
        SecureRandom secureRandom = new SecureRandom();
        // 生成一个随机的整数
        int randomInt = secureRandom.nextInt();
        System.out.println("Random Integer: " + randomInt);
        // 生成一个在指定范围内的随机整数(包括下界,不包括上界)
        int min = 1;
        int max = 10;
        int randomInRange = secureRandom.nextInt(max - min) + min;
        System.out.println("Random Integer in Range: " + randomInRange);
    }
}
Maven 依赖:
<dependency>
    <groupId>org.bouncycastle</groupId>
    <artifactId>bcprov-jdk15on</artifactId>
    <version>1.70</version>
</dependency>
以上是几种常见的在 Java 中生成随机数的方式,每种方式都有适用的场景。选择合适的生成随机数的方式取决于你的需求以及是否需要更高的随机性和安全性。