码迷,mamicode.com
首页 > 编程语言 > 详细

Java随机数的使用

时间:2017-07-28 00:57:53      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:str   默认   nbsp   for   返回   适用于   logs   对象   小数   

在java中实现随机数的类有两种,分别是和java.util.Math 和 java.util.Random

第一种:java.lang.Math.random()

Math.random()方法创建的是[0.0,1.0)范围类的浮点数

示例代码:

        int i = 0;
        System.out.println("Math.random生成随机数!");
        while (i < 3) {
            System.out.println("第" + i + "个数:" + Math.random());
            i++;
        }

 控制台输出:

技术分享

第二种:java.util.Random类

java.util.Random类有两种构造器,分别为Random()和Random(long seed)

两种构造器最主要的区别就在于seed的不同,seed是实现Random类所需的变量,也就是Random类创建所需的种子,Random根据它来生成不同的随机数序列.

Random()用的是默认的seed值,而Random(long seed)实现则是根据输入的seed值来生成对应的随机数序列,

也就是说相同seed的Random对象创建的随机数序列相同.

示例代码:

        java.util.Random random1 = new java.util.Random(10);
        java.util.Random random1_sanmeseed = new java.util.Random(10);
        java.util.Random random2 = new java.util.Random();
        System.out.println("random1:"+random1.nextInt());
        System.out.println("random1_sanmeseed:"+random1_sanmeseed.nextInt());
        System.out.println("random2:"+random2.nextInt());

 控制台输出:

 技术分享

 注:使用nextInt测试时要注意使用无参或者参数相同的方法 否则就是random的seed值相同 也会输出不同的随机数.

 

由此可见在java.util.Random类的适用范围更广泛一些,随后大致讲下它的几个方法,分别是:

nextInt();nextInt(int bound);nextDouble();

 

nextInt() nextInt(int bound)的不同在于bound 限制了随机数出现的范围,使用后者方法生成的随机数是在[0,bound)之间 不带参数则生成[-2147483648,2147483647]范围内的随机数,也是int的取值范围.

        java.util.Random random = new java.util.Random();
        for(int i=0;i<10;i++){
            System.out.println("带bound参数方法生成的随机数:"+random.nextInt(10));
            System.out.println("无参数方法生成的随机数:     "+random.nextInt());
        }

控制台输出:

技术分享

 

nextDouble()方法 返回的随机数和Math.random()返回的随机数范围相同,均为[0,1)之内的随机数,

那么实现[-3,12)范围内的随机小数怎么办呢?(此问题同样适用于nextInt(),nextFloat()等方法)

        java.util.Random random = new java.util.Random();
        for(int i=0;i<10;i++){
            double num = random.nextDouble()*15-3;
            System.out.println("[-3,12)之间的Double随机数:"+num);
        }

控制台输出:

技术分享

 

Java随机数的使用

标签:str   默认   nbsp   for   返回   适用于   logs   对象   小数   

原文地址:http://www.cnblogs.com/lifecoder-wang/p/7248117.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!