int randomNumber=(int)(Math.random()* arraylist.size)+1;java
注释是:获得一个1到8之间的随机整数。开始的时候不是很懂,因而翻书、上网找资料,可是获得的结果都是同样的。Math.random()的做用是获得0-1之间的随机数。那么是如何实现的呢?dom
仔细想想其实并非很复杂:Math.random()的取值应该是0-1(事实上取不到0和1)之间的随机小数,乘以8以后应该是0-8之间的随机小数,也就是0.****到7.****之间的小数(大于0而小于8),通过int类型转换以后,应该是0-7之间的随机整数,因此"+1"以后就会获得1-8之间的it
update: 随机数
开了别人的源代码, 发现另一种得到随机数方法。date
得到伪随机数方法,Random.nextInit(n);方法
java中的util提供的一个产生伪随机数的方法,n是一个int数, 返回值是0 ~ n中的一个int。next