更新時(shí)間:2021-12-13 來(lái)源:黑馬程序員 瀏覽量:
在JDK的java.util包中,有一個(gè)Random類,它可以在指定的取值范圍內(nèi)隨機(jī)產(chǎn)生數(shù)字。在Random類中提供了兩個(gè)構(gòu)造方法,如表5-5所示。
表Random的構(gòu)造方法
表5-5中列舉了Random類的兩個(gè)構(gòu)造方法,其中第一個(gè)構(gòu)造方法是無(wú)參的,通過(guò)它創(chuàng)建的Random實(shí)例對(duì)象每次使用的種子是隨機(jī)的,因此每個(gè)對(duì)象所產(chǎn)生的隨機(jī)數(shù)不同。如果希望創(chuàng)建的多個(gè)Random實(shí)例對(duì)象產(chǎn)生相同序列的隨機(jī)數(shù),則可以在創(chuàng)建對(duì)象時(shí)調(diào)用第二個(gè)構(gòu)造方法,傳入相同的種子即可。
相對(duì)于Math的random()方法而言,Random類提供了更多的方法來(lái)生成各種偽隨機(jī)數(shù)。它不僅可以生成整數(shù)類型的隨機(jī)數(shù),還可以生成浮點(diǎn)類型的隨機(jī)數(shù),Random類中的常用方法,如表5-6所示。
表5-6Random類的常用方法
表5-6中,列出了Random類常用的方法,其中,Random類的nextDouble()方法返回的是0.0和1.0之間double類型的值,nextFloat()方法返回的是0.0和1.0之間float類型的值,nextInt(int n)返回的是0(包括)和指定值n(不包括)之間的值。接下來(lái)通過(guò)一個(gè)案例來(lái)學(xué)習(xí)這些方法的使用,如例5-16所示。
例5-16 Example16.java
import java.util.Random; public class Examplel6 { public static void main(String[] args) { Random r =new Random(); System.out.println("生成boolean類型的隨機(jī)數(shù):" +r.nextBoolean()); System.out.println("生成double類型的隨機(jī)數(shù):" +r.nextDouble()); System.out.println("生成float類型的隨機(jī)數(shù):" +r.nextFloat()); System.out.println("生成int類型的隨機(jī)數(shù):" +r.nextInt()); System.out.println("生成0到10之間int類型的隨機(jī)數(shù):" +r.nextInt(10)); System.out.println(”生成long類型的隨機(jī)數(shù):" +r.nextLong()); } }
運(yùn)行結(jié)果如圖5-16所示。
從圖5-16可以看出,通過(guò)調(diào)用Random類不同的方法分別產(chǎn)生了不同類型的隨機(jī)數(shù)。
java中如何構(gòu)建Random產(chǎn)生隨機(jī)數(shù)?
Python的標(biāo)準(zhǔn)模塊:sys、os、random和time