java中Random类使用说明,实例代码展示

BSO 2020-09-17 08:37:24 java常见问答 7718

上一次已经为大家介绍过java中Random类带种子与不带的区别,详细解析,今天再来为大家介绍一些关于Random类的其他内容,也就是Random类的使用说明,一起来看看吧。

一、Random类使用说明

⑴带种子与不带种子的区别是,Random类使用的根本,是区分带种子和不带种子的Random的实例。

简单来说,两者的区别是:带种子的,每次运行生成的结果都是一样的;不带种子的,每次运行生成的都是随机的,没有规律可言。

⑵创建不带种子的Random对象,代码如下所示:

Random random = new Random();

⑶创建不带种子的Random对象有两种方法,代码如下所示:

Random random = new Random(555 L);

Random random = new Random();
random.setSeed(555 L);

二、为大家举例说明上面的用法,代码如下所示

import java.util.Random;
public class TestRandomNum
{
    public static void main(String[] args)
    {
        randomTest();
        testNoSeed();
        testSeed1();
        testSeed2();
    }
    public static void randomTest()
    {
        System.out.println("--------------test()--------------");
        //返回以毫秒为单位的当前时间。
        long r1 = System.currentTimeMillis();
        //返回带正号的 double 值,大于或等于 0.0,小于 1.0。
        double r2 = Math.random();
        //通过Random类来获取下一个随机的整数
        int r3 = new Random()
            .nextInt();
        System.out.println("r1 = " + r1);
        System.out.println("r3 = " + r2);
        System.out.println("r2 = " + r3);
    }
    public static void testNoSeed()
    {
        System.out.println("--------------testNoSeed()--------------");
        //创建不带种子的测试Random对象
        Random random = new Random();
        for (int i = 0; i < 3; i++)
        {
            System.out.println(random.nextInt());
        }
    }
    public static void testSeed1()
    {
        System.out.println("--------------testSeed1()--------------");
        //创建带种子的测试Random对象
        Random random = new Random(555 L);
        for (int i = 0; i < 3; i++)
        {
            System.out.println(random.nextInt());
        }
    }
    public static void testSeed2()
    {
        System.out.println("--------------testSeed2()--------------");
        //创建带种子的测试Random对象
        Random random = new Random();
        random.setSeed(555 L);
        for (int i = 0; i < 3; i++)
        {
            System.out.println(random.nextInt());
        }
    }
}
运行结果:
-- -- -- -- -- -- --test() -- -- -- -- -- -- --
r1 = 1227108626582
r3 = 0.5324887850155043
r2 = -368083737
    -- -- -- -- -- -- --testNoSeed() -- -- -- -- -- -- --
809503475
1585541532
    -
    645134204
    -- -- -- -- -- -- --testSeed1() -- -- -- -- -- -- --
    - 1367481220
292886146
    -
    1462441651
    -- -- -- -- -- -- --testSeed2() -- -- -- -- -- -- --
    - 1367481220
292886146
    -
    1462441651
Process finished with exit code 0

通过上面testSeed1()与testSeed2()方法的结果可以看到,两个打印结果相同,是因为它们的种子相同,再运行一次,结果还是一样的,这就是带种子随机数的特性。而不带种子的,每次运行结果都是随机的。

以上就是关于java中Random类使用说明,并且通过实际的代码为大家展示。想要了解更多java基础以及常见问题,敬请关注奇Q工具网。

推荐阅读:

java API说明,Random类的方法摘要

java中POI的结构说明,Excel单元格操作展示

java servlet中forward和redirect的不同点,具体说明