Java中的随机数解说
2014-02-19 21:46
441 查看
在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()的情况,如下
在看加了的情况,如下:
当随机数发生器就是Random对象产生以后,可以通过对象调用不同的方法:nextInt()、nextLong()、nextFloat()、nextDouble()等来获得不同类型的随机数。 如果2个Random对象使用相同的种子(比如都是100),并且以相同的顺序调用相同的函数,那么它们的返回值完全相同。
话多无益,我先举个栗子,如下代码:
但是,我想要某个范围的数字怎么办呢?比如我想随机产生 0-99之间的随机数,这个时候我们可以使用模数运算符%。
将模数运算符%作用于随机数产生器所产生的随机数身上,目的就是为了让随机数的最大值属于我们所制定的操作数数值减1范围内。看下面代码就将输入控制在0~99的范围内。(友情提示:如果不加Math.abs(),输出范围将是-99~99。 )
先看不加Math.abs()的情况,如下
在看加了的情况,如下:
相关文章推荐
- Quantum插件在eclipse中的应用
- Java 观察者模式的浅析
- Java IO 一
- JAVA之面对象
- Myeclipse内存设置
- Eclipse导入Android工程报错 “Invalid Project Description”
- mybatis整合Spring
- Spring的AsyncHandlerInterceptor
- Java反射学习
- LeetCode | Sum Root to Leaf Numbers
- 解决Eclipse无法打开“Failed to load the JNI shared library”
- Spring MVC 框架搭建及详解
- 比较全面的Eclipse配置详解(包括智能提示设置、智能提示插件修改,修改空格自动上屏、JDK配置、各种快捷键列表……)
- JAVA白盒安全测试需要关注的API
- java可变参数的使用
- JAVA白盒安全测试需要关注的API
- 能不做自己写个类,也叫java.lang.String
- java设计模式6——适配器模式(Adapter)
- java nio
- Spring MVC 3 深入总结