java生成指定范围内的随机数

Posted Xycdada

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java生成指定范围内的随机数相关的知识,希望对你有一定的参考价值。

  我们经常说Java中的随机数是伪随机数,那么我们要知道什么是伪随机数。

什么是伪随机数?

  1、真正意义上的随机数在某次产生过程中是按照实验过程中表现的分布概率随机产生的,其结果是不可预测的,是不可见的。这才是真随机。

  2、计算机中的随机函数是按照确定算法模拟产生的,其结果是确定的,是可见的,我们可以这样认为这个可预见的结果其出现的概率是100%,所以被称为伪随机。

Java随机数产生原理

     Java的随机数产生用了线性同余公式等,也就是说通过一个复杂的算法生成的。如果感兴趣,可以去看一下这篇对java随机数源码解析的博客。http://www.codes51.com/article/detail_1581162_5.html

Java产生随机数的方法有两种:

  1、Math.random()
  2、new Random()

java.lang.Math.Random

  Math.Random()函数能够返回0-1之间的double值,在该范围内(近似)均匀分布。

java.util.Random:

Random()有两种构造方法:

     1、Random():使用一个和当前时间的毫秒数作为种子,可以通过System.currentTimeMillis()来获得当前时间的毫秒数。下面是JDK的源代码。


  public Random() { this(System.currentTimeMillis()); }。

 

   2、 Random(long seed):直接传入一个种子,如果用相同的种子创建两个 Random 实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。

 random对象的nextInt(),nextInt(int n)方法:
  int nextInt() 
      返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。 
  int nextInt(int n) 
      返回一个伪随机数,它是从此随机数生成器的序列中取出的、在 [0,1) 之间均匀分布的 int值。







以上是关于java生成指定范围内的随机数的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server生成指定范围内的随机数

shell生成指定范围内的随机数

java 生成指定范围内随机数

js如何生成指定范围内的随机数

随机生成指定范围内的随机数,放在指定长度的数组内

js如何生成指定范围内的随机数