
上QQ阅读APP看书,第一时间看更新
10-2 随机数的应用
Math类内有random()方法,这个方法可以产生大于或等于0,以及小于或等于1的双倍精度浮点数(double)随机数。

一般程序设计师常用上述方法产生电子游戏的输赢,例如,若是期待计算机赢的比例是60%,可以由上述产生的随机数,设置只要值介于0.0和0.6就算计算机赢。
程序实例ch10_2.java:产生10笔介于0.0和1.0之间的值。

执行结果

如果想要产生某一区间的随机数字,可以使用下列公式。

程序实例ch10_3.java:产生10笔掷骰子产生1~6的随机数。

执行结果

程序实例ch10_4.java:请输入购买大乐透彩券数量,本程序可以产生此数量的开奖号码,一组大乐透彩券的号码有6组,每组编号介于1和49之间。

执行结果

这个程序设计思路是,在第12、13行建立了lottery[1]~lottery[49],其实lottery[0]是未使用,主要是将lottery[n]=n,当此数字出现后便将lottery[n]设为0,以后凡是数字重复出现,便会执行程序第19行的continue,重新产生乐透号码。