Java语言中的随机数方法

2019-09-28  本文已影响0人  肥仔鱼爱洗澡

Java语言中的随机数方法

 
1、Math.random() 方法:

产生的随机数时 0~1 之间的 double,可以把它乘以一定的数,比如乘以 100 ,它就是 100 以内的随机。(伪随机)

Example Code :

import java.math.*;

public class Demo {
    public static void main(String args[]) {
        // [0,1)
        double test_1 = Math.random();
        
        // [0,10)
        double test_2 = Math.random() * 10;
        
        // [0,100)
        double test_3 = Math.random() * 100;
        
        // [0,100]
        double test_4  = (Math.random() * 100 + 1) % 101;
    }
}

2、java.util.Random

java.util 包里提供 Random 类,可以新建一个 Random 的对象来产生随机数,他可以产生随机 int,随机 float,随机 double,随机 long。

Example Code :

import java.util.random

public class Demo {
    public static void main(String args[]) {
        // 新建 Random 类
        Random random = new Random();
        
        // 设置随机种子,否则随机数为伪随机
        // void setSeed(long seed);
        random.setSeed(1);
        
        // boolean 类型
        boolean bool = random.nextBoolean();
        
        // bytes 类型
        // 生成随机字节并将它们放入用户提供的字节数组中
        // void nextBytes(byte[] bytes);
        byte[] bytes = new byte[100];
        random.nextBytes(bytes);
        
        // double 类型
        // 返回下一个伪随机数,从这个随机数发生器的序列中 0.0和 1.0之间的 double值 0.0分布。
        // double nextDouble();
        double d = random.nextDouble();
        
        // int 类型
        // 返回下一个伪随机数,从这个随机数发生器的序列中均匀分布 int值。
        // int nextInt();
        int i_1 = random.nextInt();
        
        // int 类型  [0,100)
        // 返回伪随机的,均匀分布 int值介于0(含)和指定值(不包括),从该随机数生成器的序列绘制。
        // void int nextInt(int bound)
        int i_2 = random.nextInt(100);
        
        // long 类型
        // 返回下一个伪,均匀分布 long从这个随机数生成器的序列值。
        // long nextLong();
        long l = random.nextLong();
    }
}

 
3、System 类中的 currentTimeMillis() 方法

System 类中有个一 currentTimeMillis() 方法,该方法返回一个从 1970年1月1日0点0分0秒到目前的一个毫秒数,返回类型时 long,可以将它作为一个随机数,对一些数取模,就可以把它限制在一个范围之内。

Example Code :

public class Demo {
    public static void main(String args[]) {
        // 该方法的作用时返回当前计算机时间,一般结合 Date 类和 SimpleDateFormate 类使用
        long currentTime = System.currentTimeMillis();
        System.out.println(currentTime);
        
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy年-MM月dd日-HH时-mm分-ss秒");
        Date date = new Date(currentTime);
        System.out.println(formatter.format(date));
    }
}
上一篇 下一篇

猜你喜欢

热点阅读