随机产生四位,任意位或者范围数字方法

版权声明:本文为博主原创文章,若转载请标明。 https://blog.csdn.net/qq_36330228/article/details/75452940

一、用Math包中方法实现

1.随机产生四位数[1000,9999]
num=(int)(Math.random()*9000)+1000;
Math.random()方法是产生double型[0,1)的数据,[0,1)*9000=[1,9001),用int类型强转后便是[0,8999], 因而可以得到1000~9999的四位随机数。
**PS:解释下double类型强转int类型,会导致double数据小数部分丢失
Eg:double a=3.14529;int b=(int)a;b=3**

2.随机产生规定范围内数字Eg:[1000,9999)
num=(int)(Math.random()*8999)+1000;

4.随机产生规定范围内数字Eg:(1000,9999]
num=(int)(Math.random()*8999)+1000+1;

5.随机产生规定范围内数字(1000,9999)
num=(int)(Math.random()*8998)+1000+1;

下面个人总结,用到的范围可能存在局限

        /*随机产生规定范围内数字[15,36]
        规律:num=(int)(Math.random()*(y-x+1))+x;*/
        num=(int)(Math.random()*22)+15;

        /*随机产生规定范围内数字(15,36)既[16,35]
        规律:num=(int)(Math.random()*(y-x-1))+x+1;*/
        num=(int)(Math.random()*20)+16;

        /*随机产生规定范围内数字[15,36)既[15,35]
        规律:num=(int)(Math.random()*(y-x))+x;*/
        num=(int)(Math.random()*21)+15;

        /*随机产生规定范围内数字(15,36]既[14,36]
        规律:num=(int)(Math.random()*(y-x+2))+x+1;*/
        num=(int)(Math.random()*23)+15;

二、用Random类实现

Java中提供了java.util.Random类,可以通过实例化一个Random对象创建一个随机数生成器,Random r=new Random();

package method3;

import java.util.Random;

public class RandomDemo {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        Random r = new Random();
        System.out.println(r.nextInt()); // 随机产生一个整数
        System.out.println(r.nextInt(10)); // 随机产生0到10(不包括10)范围内的一个整数
        System.out.println(r.nextDouble());// 随机产生一个双精度型值
        System.out.println(r.nextBoolean());// 随机产生一个布尔型值
        System.out.println(r.nextFloat());// 随机产生一个浮点型值
        System.out.println(r.nextGaussian());// 随机产生一个概率为高斯分布的双精度型值
    }

}

没有更多推荐了,返回首页