![Java王者归来:从入门迈向高手](https://wfqqreader-1252317822.image.myqcloud.com/cover/394/27563394/b_27563394.jpg)
上QQ阅读APP看书,第一时间看更新
10-2 随机数的应用
Math类内有random()方法,这个方法可以产生大于或等于0,以及小于或等于1的双倍精度浮点数(double)随机数。
![](https://epubservercos.yuewen.com/9E44AA/15825993204148006/epubprivate/OEBPS/Images/Figure-P164_759862.jpg?sign=1739298923-vreuvVd0Cm39YY51MuwvA5idNh84AKSd-0-ade32afdab9c5bff39f839ea6d7487c6)
一般程序设计师常用上述方法产生电子游戏的输赢,例如,若是期待计算机赢的比例是60%,可以由上述产生的随机数,设置只要值介于0.0和0.6就算计算机赢。
程序实例ch10_2.java:产生10笔介于0.0和1.0之间的值。
![](https://epubservercos.yuewen.com/9E44AA/15825993204148006/epubprivate/OEBPS/Images/Figure-P164_759863.jpg?sign=1739298923-oEY289ocwKqpRicHRqRSvY97JPdIP0qh-0-51dbdafad3aa815518bd9e28b6aff418)
执行结果
![](https://epubservercos.yuewen.com/9E44AA/15825993204148006/epubprivate/OEBPS/Images/Figure-P164_579079.jpg?sign=1739298923-mJXMjeg6ouGk2hGLsGX93OtKNrxADJ70-0-fcdccabb50993b25f6a4baf1a13557fc)
如果想要产生某一区间的随机数字,可以使用下列公式。
![](https://epubservercos.yuewen.com/9E44AA/15825993204148006/epubprivate/OEBPS/Images/Figure-P164_759866.jpg?sign=1739298923-4ciH9Shu55vIz8WaRye1gVR5FAXtLWJg-0-d6fee567cfd59c1f27936335c424a7f4)
程序实例ch10_3.java:产生10笔掷骰子产生1~6的随机数。
![](https://epubservercos.yuewen.com/9E44AA/15825993204148006/epubprivate/OEBPS/Images/Figure-P164_579082.jpg?sign=1739298923-n7isJDk5VlG1fEGEOoINdfMyWwkwpACy-0-bd56de9014e11eb23f4803e662025aa5)
执行结果
![](https://epubservercos.yuewen.com/9E44AA/15825993204148006/epubprivate/OEBPS/Images/Figure-P164_579112.jpg?sign=1739298923-TIIscfn0MgDcPWUIDMfuY9UtdzDk3lAm-0-38f0d7377e2377c698719b0f9cbab081)
程序实例ch10_4.java:请输入购买大乐透彩券数量,本程序可以产生此数量的开奖号码,一组大乐透彩券的号码有6组,每组编号介于1和49之间。
![](https://epubservercos.yuewen.com/9E44AA/15825993204148006/epubprivate/OEBPS/Images/Figure-P164_759864.jpg?sign=1739298923-5saWzxcRa82Tz8Omairs0nsk5lroJ34k-0-5c92b90f002f3a0fb89bd7315191afe3)
执行结果
![](https://epubservercos.yuewen.com/9E44AA/15825993204148006/epubprivate/OEBPS/Images/Figure-P165_579529.jpg?sign=1739298923-C0PGi9gH8A9q1JcWP5cpYaMhjPLCvNi0-0-551f055a66b2d72f5dae7860de72b1e4)
这个程序设计思路是,在第12、13行建立了lottery[1]~lottery[49],其实lottery[0]是未使用,主要是将lottery[n]=n,当此数字出现后便将lottery[n]设为0,以后凡是数字重复出现,便会执行程序第19行的continue,重新产生乐透号码。