ArrayList中随机产生一个值的方法:
2011-07-26 00:00
323 查看
int randomNumber=(int)(Math.random()* arraylist.size)+1;
注释是:得到一个1到8之间的随机整数。开始的时候不是很懂,于是翻书、上网找资料,但是得到的结果都是一样的。Math.random()的作用是得到0-1之间的随机数。那么是如何实现的呢?
仔细想一想其实并不是很复杂:Math.random()的取值应该是0-1(事实上取不到0和1)之间的随机小数,乘以8之后应该是0-8之间的随机小数,也就是0.****到7.****之间的小数(大于0而小于8),经过int类型转换之后,应该是0-7之间的随机整数,所以"+1"之后就会得到1-8之间的
update:
开了别人的源代码, 发现另外一种获得随机数方法。
获得伪随机数方法,Random.nextInit(n);
java中的util提供的一个产生伪随机数的方法,n是一个int数, 返回值是0 ~ n中的一个int。
注释是:得到一个1到8之间的随机整数。开始的时候不是很懂,于是翻书、上网找资料,但是得到的结果都是一样的。Math.random()的作用是得到0-1之间的随机数。那么是如何实现的呢?
仔细想一想其实并不是很复杂:Math.random()的取值应该是0-1(事实上取不到0和1)之间的随机小数,乘以8之后应该是0-8之间的随机小数,也就是0.****到7.****之间的小数(大于0而小于8),经过int类型转换之后,应该是0-7之间的随机整数,所以"+1"之后就会得到1-8之间的
update:
开了别人的源代码, 发现另外一种获得随机数方法。
获得伪随机数方法,Random.nextInit(n);
java中的util提供的一个产生伪随机数的方法,n是一个int数, 返回值是0 ~ n中的一个int。
相关文章推荐
- C#一个产生随机不重复数组的方法
- 网络摘抄了一个还不错的产生随机密码的方法
- 设计一个类,该类中有一个方法,该方法使用Random类随机产生10个三位数字(如636)的随机数,并把产生的10个随机数存入数组中。然后在另一个类中输出这10个数
- 一个还不错的产生随机密码的方法
- Java学习 产生一个随机数组的两种方法
- php产生随机数的两种方法实例代码 输出随机IP
- 产生一个int数组,随机向数组中插入1-100的随机数且不能重复
- 介绍一个生成随机密码的方法
- 介绍一个全局最优化的方法:随机游走算法(Random Walk)
- 如何产生一个随机排列?(弱问)
- server2003至少有一个服务或驱动程序产生错误解决方法
- 有哪些方法可以随机生成一个整数,以及如果取得的一个随机数是负数的话,获得的整数是怎么样的?
- 针对近期的驱动病毒usb8028,usb8028x,以及一个随机的保护驱动的解决方法
- java--第十周--任务一 封装一类对象,功能是随机产生一个2000年后的年份,并输出该年2月的日历页,需处理闰年的问题
- 验证码中随机汉字的产生方法
- 产生随机字符串的一种方法
- js方法随机生成一个流水号
- 随机产生一个中文
- 随机增加网站点击的一个不错的方法 原创
- mysql + shell 随机字符的产生方法