盡管我們可以使用Math類調(diào)用其類方法random()返回一個(gè)0至1之間的隨機(jī)數(shù)(不包括0和1),例如:
(int)(Math.random()*100)+1; //得到1至100之間的一個(gè)隨機(jī)整數(shù)(包括1和100)
但是,Java提供了更為靈活的用于獲得隨機(jī)數(shù)的Random類,該類在java.util包中。
使用Random類的構(gòu)造方法如下:
public Random(); public Random(long seed);
創(chuàng)建Random對象,其中第二個(gè)構(gòu)造方法使用參數(shù)seed指定的種子創(chuàng)建一個(gè)Random對象,人們習(xí)慣地將Random對象稱為隨機(jī)數(shù)生成器。例如,下列隨機(jī)數(shù)生成器random調(diào)用不帶參數(shù)的nextInt()方法返回一個(gè)隨機(jī)整數(shù):
Random random = new Random(); random.nextInt();
如果想讓隨機(jī)數(shù)生成器random返回一個(gè)0至n之間(包話0但不包括n)的隨機(jī)數(shù),可以讓random調(diào)用帶參數(shù)的nextInt(int m)方法(參數(shù)m必須取正整數(shù)值),例如:
random.nextInt(100);
返回一個(gè)0至100之間的隨機(jī)整數(shù)(包括0但不包括100)。
如果程序需要隨機(jī)得到true和false兩個(gè)表示真和假的boolean值,可以讓random調(diào)用nextBoolean()方法,例如:
random.nextBoolean();
返回一個(gè)隨機(jī)boolean值。
C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:
一點(diǎn)編程也不會(huì)寫的:零基礎(chǔ)C語言學(xué)練課程
解決困擾你多年的C語言疑難雜癥特性的C語言進(jìn)階課程
從零到寫出一個(gè)爬蟲的Python編程課程
只會(huì)語法寫不出代碼?手把手帶你寫100個(gè)編程真題的編程百練課程
信息學(xué)奧賽或C++選手的 必學(xué)C++課程
藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競賽課入門課程
手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程