Java中的随机数详解
发布时间:2016-12-28 来源:查字典编辑
摘要:在java中我们可以使用java.util.Random类来产生一个随机数发生。它有两个构造函数,分别是Random()和Random(lo...
在java中我们可以使用java.util.Random类来产生一个随机数发生。它有两个构造函数,分别是Random()和Random(long seed)。Random()是用当前时间即System.currentTimeMillis()作为发生器的种子,而Random(long seed)是用指定的seed作为发生器的种子。
当随机数发生器就是Random对象产生以后,可以通过对象调用不同的方法:nextInt()、nextLong()、nextFloat()、nextDouble()等来获得不同类型的随机数。 如果2个Random对象使用相同的种子(比如都是100),并且以相同的顺序调用相同的函数,那么它们的返回值完全相同。
话多无益,我先举个栗子,如下代码:
但是,我想要某个范围的数字怎么办呢?比如我想随机产生 0-99之间的随机数,这个时候我们可以使用模数运算符%。
将模数运算符%作用于随机数产生器所产生的随机数身上,目的就是为了让随机数的最大值属于我们所制定的操作数数值减1范围内。看下面代码就将输入控制在0~99的范围内。(友情提示:如果不加Math.abs(),输出范围将是-99~99。 )
先看不加Math.abs()的情况,如下
在看加了的情况,如下: