更新時間:2021-12-13 來源:黑馬程序員 瀏覽量:
在JDK的java.util包中,有一個Random類,它可以在指定的取值范圍內隨機產(chǎn)生數(shù)字。在Random類中提供了兩個構造方法,如表5-5所示。
表Random的構造方法
表5-5中列舉了Random類的兩個構造方法,其中第一個構造方法是無參的,通過它創(chuàng)建的Random實例對象每次使用的種子是隨機的,因此每個對象所產(chǎn)生的隨機數(shù)不同。如果希望創(chuàng)建的多個Random實例對象產(chǎn)生相同序列的隨機數(shù),則可以在創(chuàng)建對象時調用第二個構造方法,傳入相同的種子即可。
相對于Math的random()方法而言,Random類提供了更多的方法來生成各種偽隨機數(shù)。它不僅可以生成整數(shù)類型的隨機數(shù),還可以生成浮點類型的隨機數(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(不包括)之間的值。接下來通過一個案例來學習這些方法的使用,如例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類型的隨機數(shù):" +r.nextBoolean()); System.out.println("生成double類型的隨機數(shù):" +r.nextDouble()); System.out.println("生成float類型的隨機數(shù):" +r.nextFloat()); System.out.println("生成int類型的隨機數(shù):" +r.nextInt()); System.out.println("生成0到10之間int類型的隨機數(shù):" +r.nextInt(10)); System.out.println(”生成long類型的隨機數(shù):" +r.nextLong()); } }
運行結果如圖5-16所示。
從圖5-16可以看出,通過調用Random類不同的方法分別產(chǎn)生了不同類型的隨機數(shù)。
java中如何構建Random產(chǎn)生隨機數(shù)?