您的位置:首页 > 其它

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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ArrayList随机读取