上一次已经为大家介绍过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工具网。
推荐阅读: