• 技术文章 >java >java基础

    java随机数生成原理

    小妮浅浅小妮浅浅2021-04-20 09:34:23原创3026

    本教程操作环境:windows7系统、java10版,DELL G3电脑。

    1、随机生成数方法

    final double v = Math.random();

    或者

    final int i = new Random().nextInt(int bound);

    2、原理解析

    (1)Math库中的static(静态)方法random()

    该方法的作用是产生0到1(包括0,但不包括1)的double值。

    (2)使用Random类对象。

    该程序可以生成多种不同类型的随机数字,只需调用nextInt()和nextFloat()即可(或调用nextLong()或nextDouble()。传送给nextInt()的参数设定了随机数的上限,下限为0。

    3、实例

    // 构造函数(一): 创建一个新的随机数生成器。
     
    Random()
    // 构造函数(二): 使用单个 long 种子创建一个新随机数生成器: public Random(long seed) { setSeed(seed); } next 方法使用它来保存随机数生成器的状态。
    Random(long seed)
     
    boolean nextBoolean()     // 返回下一个“boolean类型”伪随机数。
    void  nextBytes(byte[] buf) // 生成随机字节并将其置于字节数组buf中。
    double nextDouble()     // 返回一个“[0.0, 1.0) 之间的double类型”的随机数。
    float  nextFloat()      // 返回一个“[0.0, 1.0) 之间的float类型”的随机数。
    int   nextInt()       // 返回下一个“int类型”随机数。
    int   nextInt(int n)    // 返回一个“[0, n) 之间的int类型”的随机数。
    long  nextLong()      // 返回下一个“long类型”随机数。
     
    synchronized double nextGaussian()  // 返回下一个“double类型”的随机数,它是呈高斯(“正常地”)分布的 double 值,其平均值是 0.0,标准偏差是 1.0。
    synchronized void setSeed(long seed) // 使用单个 long 种子设置此随机数生成器的种子。

    以上就是java随机数生成原理,本篇介绍了两种随机数生成的方法,并分别对它们的方法原理进行了解析,大家学会后就可以展开随机数的使用了。更多Java学习指路:Java基础

    专题推荐:java随机数
    上一篇:java 反射机制作用 下一篇:java产生随机整数指定范围

    相关文章推荐

    • python如何生成均匀分布的随机数?• python3.8随机数怎么生成?• python随机数模块怎么导入• python随机数如何求和• python随机数如何赋值给变量• python如何生产随机数字• python两组随机数如何相加• python怎样在一个范围内取随机数• python随机数组如何生成?• python中seed随机函数如何生成随机数?• java怎么产生不同的随机数• java每次生成不重复的随机数

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网