更新時(shí)間:2021年12月14日09時(shí)59分 來(lái)源:傳智教育 瀏覽次數(shù):
在JDK的java.util包中,有一個(gè)Random類(lèi),它可以在指定的取值范圍內(nèi)隨機(jī)產(chǎn)生數(shù)字。在Random類(lèi)中提供了兩個(gè)構(gòu)造方法,如表5-5所示。
表Random的構(gòu)造方法
表5-5中列舉了Random類(lèi)的兩個(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)提供了更多的方法來(lái)生成各種偽隨機(jī)數(shù)。它不僅可以生成整數(shù)類(lèi)型的隨機(jī)數(shù),還可以生成浮點(diǎn)類(lèi)型的隨機(jī)數(shù),Random類(lèi)中的常用方法,如表5-6所示。
表5-6 Random類(lèi)的常用方法
表5-6中,列出了Random類(lèi)常用的方法,其中,Random類(lèi)的nextDouble()方法返回的是0.0和1.0之間double類(lèi)型的值,nextFloat()方法返回的是0.0和1.0之間float類(lèi)型的值,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類(lèi)型的隨機(jī)數(shù):" +r.nextBoolean()); System.out.println("生成double類(lèi)型的隨機(jī)數(shù):" +r.nextDouble()); System.out.println("生成float類(lèi)型的隨機(jī)數(shù):" +r.nextFloat()); System.out.println("生成int類(lèi)型的隨機(jī)數(shù):" +r.nextInt()); System.out.println("生成0到10之間int類(lèi)型的隨機(jī)數(shù):" +r.nextInt(10)); System.out.println(”生成long類(lèi)型的隨機(jī)數(shù):" +r.nextLong()); } }
運(yùn)行結(jié)果如圖5-16所示。
從圖5-16可以看出,通過(guò)調(diào)用Random類(lèi)不同的方法分別產(chǎn)生了不同類(lèi)型的隨機(jī)數(shù)。
getRuntime()方法獲取Runtime類(lèi)【Java實(shí)用技術(shù)分享】
北京校區(qū)