Random类是用于生成随机数的。但是该类的随机算法实际上是伪随机。即相同种子、相同次数生成的随机数是一样的。
首先看Random的两个构造方法
public Random()//默认使用当前时间对应的种子
public Random(long seed)//自定义种子
注意种子只是让里面定义的随机算法从种子开始计算。即随机算法的起源数字,和生成的区间没有任何关系。
再看Random类中的常用几个方法
public boolean nextBoolean()//true和false的生成概率各为50%
public double nextDouble()//生成0到1.0之间的随机数
public int nextInt()//生产-2的31次幂到2的31次幂-1的随机数
public int nextInt(int n)//生成0到n之间的随机数
public void setSeed(long seed)//设置Random类的种类
使用实例
1.生成[0-1.0]之间的随机数
答:random.nextDouble() //nextDouble默认生成0到1.0之间的随机数
2.生成[0-7.0]之间的随机数
答:random.nextDouble()*7 //即[0-1.0]乘以7即可
3.生成[1.0-7.0]之间的随机数
答:random.nextDouble()*6+1.0 //先生成0到7.0-1.0之间的随机数,然后+1.0
总结:生成[0,d)区间的随机小数,d为任意正的小数,则只需要将nextDouble方法的返回值乘以d即可
生成任意非从0开始的小数区间[d1,d2)范围的随机数字(其中d1不等于0),则只需要首先生成[0,d2-d1)区间的随机数字,然后将生成的随机数字区间加上d1即可
4.生成任意的整数
答:random.nextInt() //生成的范围是-2的31次幂到2的31次幂-1之间的数
5.生成[0-25]之间的整数
答:random.nextInt(25)//生成指定int类型,通过指定范围值即可,但是是从0开始的
答:Math.abs(random.nextInt()%25)//这是另外一种写法,即先生成-25到25之间的整数,然后再取绝对值即可。
6.生成[2-25]之间的整数
答:random.nextInt(23)+2 //先生成0-23(d2-d1)之间的整数,然后再+d1
答:Math.abs(random.nextInt()%23+2) //另外一种写法
注意random.nextInt(100)会生成0-100之间的随机数,但是不包括100,因此0到99每个数字被生成出来的概率都是1.
注意2 Math.random()类,该类实际上是调用Random类的nextDouble()方法生成随机数的,因此返回数字的范围是0-1.0
分享到:
相关推荐
031108_【第11章:Java常用类库】_Math与Random类笔记
07.【Scanner类、Random类、ArrayList类】
对于Java中Random类的有关问题做下的思维导图,便于深化记忆,希望对你有帮助!注意:文件为.mm后缀建议下载freemind打开,免费的思维导图软件!
Java8中的java.util.Random类 文章代码,不多解释啦,不需要你安装其它的jar包。
掌握String类和StringBuffer类的使用 了解System类、Runtime类、Math类和Random类的使用 熟悉包装类的使用
day003【Scanner类、Random类、ArrayList类】.pdf
day07【Scanner类、Random类、ArrayList类】.md
Java中Random类.pdf 学习资料 复习资料 教学资源
Java中Random类常用方法.pdf 学习资料 复习资料 教学资源
介绍一下Random类的使用,以及如何生成指定区间的随机数组以及实现程序中要求的几率
前几天,在做J2ME软件时,用到了RANDOM类的nextInt(int arg0)方法,感觉不怎么好,所以自己利用线性同余法重新写了一个,希望有用!
八数码游戏panel,groupBox,TabControl,point,random类的使用
C++封装的用于产生随机数的类。用法很简单,可以产生指定范围的随机整数,浮点数,布尔值等等。
NULL 博文链接:https://chaoyi.iteye.com/blog/2082321
第4章 ArrayList类4.1 引入——对象数组// 导包public class Test01Random {public static void mai
Random类介绍 Random类一个用于产生 伪随机 数字的类。这里的伪随机表示有随机性但是可以基于算法模拟出随机规律。 Random类的构造方式有两种。 Random r= new Random()。会以当前系统时间作为默认种子构建一个随机...
Java Random类的详细介绍(Java生成随机数)一、Random类的使用1.Random类生成随机数(int)的基本语法:2.几种常用的随机数生成二、Random类的详细介绍1.生成指定范围的数字2.Random.nextInt()与Math.random()的区别 ...
能使用Random类随机出加减法的题目 能使用if/switch进行答案的判断 能使用事件处理,当用户答案填正确时,界面上有反馈(如文本框背景颜色的改变) 能使用Timer控件,自动发出事件,如自动出题 其他扩充功能(选做)...