更新時(shí)間:2021年12月14日09時(shí)59分 來源:傳智教育 瀏覽次數(shù):
在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)造方法是無參的,通過它創(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類提供了更多的方法來生成各種偽隨機(jī)數(shù)。它不僅可以生成整數(shù)類型的隨機(jī)數(shù),還可以生成浮點(diǎn)類型的隨機(jī)數(shù),Random類中的常用方法,如表5-6所示。
表5-6 Random類的常用方法
表5-6中,列出了Random類常用的方法,其中,Random類的nextDouble()方法返回的是0.0和1.0之間double類型的值,nextFloat()方法返回的是0.0和1.0之間float類型的值,nextInt(int n)返回的是0(包括)和指定值n(不包括)之間的值。接下來通過一個(gè)案例來學(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可以看出,通過調(diào)用Random類不同的方法分別產(chǎn)生了不同類型的隨機(jī)數(shù)。
北京校區(qū)