更新時(shí)間:2021-05-11 09:40:24 來源:動(dòng)力節(jié)點(diǎn) 瀏覽1045次
java隨機(jī)數(shù)中是有著函數(shù)的,小伙伴們有了解過它們嗎?那們就來深入的了解一下java隨機(jī)數(shù)中的函數(shù)。
示例:public class RandomNumber
{
public?static?void?main(String[]?args)
{
//?使用java.lang.Math的random方法生成隨機(jī)數(shù)
System.out.println("Math.random():?"?+?Math.random());
//?使用不帶參數(shù)的構(gòu)造方法構(gòu)造java.util.Random對象
System.out.println("使用不帶參數(shù)的構(gòu)造方法構(gòu)造的Random對象:");
Random?rd1?=?new?Random();
//?產(chǎn)生各種類型的隨機(jī)數(shù)
//?按均勻分布產(chǎn)生整數(shù)
System.out.println("int:?"?+?rd1.nextInt());
//?按均勻分布產(chǎn)生長整數(shù)
System.out.println("long:?"?+?rd1.nextLong());
//?按均勻分布產(chǎn)生大于等于0,小于1的float數(shù)[0,?1)
System.out.println("float:?"?+?rd1.nextFloat());
//?按均勻分布產(chǎn)生[0,?1)范圍的double數(shù)
System.out.println("double:?"?+?rd1.nextDouble());
//?按正態(tài)分布產(chǎn)生隨機(jī)數(shù)
System.out.println("Gaussian:?"?+?rd1.nextGaussian());
//?生成一系列隨機(jī)數(shù)
System.out.print("隨機(jī)整數(shù)序列:");
for?(int?i?=?0;?i?
{
System.out.print(rd1.nextInt()?+?"?");
}
System.out.println();
//?指定隨機(jī)數(shù)產(chǎn)生的范圍
System.out.print("[0,10)范圍內(nèi)隨機(jī)整數(shù)序列:?");
for?(int?i?=?0;?i?
{
//?Random的nextInt(int?n)方法返回一個(gè)[0,?n)范圍內(nèi)的隨機(jī)數(shù)
System.out.print(rd1.nextInt(10)?+?"?");
}
System.out.println();
System.out.print("[5,23)范圍內(nèi)隨機(jī)整數(shù)序列:?");
for?(int?i?=?0;?i?
{
//?因?yàn)閚extInt(int?n)方法的范圍是從0開始的,
//?所以需要把區(qū)間[5,28)轉(zhuǎn)換成5?+?[0,?23)。
System.out.print(5?+?rd1.nextInt(23)?+?"?");
}
System.out.println();
System.out.print("利用nextFloat()生成[0,99)范圍內(nèi)的隨機(jī)整數(shù)序列:?");
for?(int?i?=?0;?i?
{
System.out.print((int)(rd1.nextDouble()?*?100)?+?"/");
//?System.out.println("數(shù)學(xué):"+(int)(Math.random()*100));
}
System.out.println();
System.out.println();
//?使用帶參數(shù)的構(gòu)造方法構(gòu)造Random對象
//?構(gòu)造函數(shù)的參數(shù)是long類型,是生成隨機(jī)數(shù)的種子。
System.out.println("使用帶參數(shù)的構(gòu)造方法構(gòu)造的Random對象:");
Random?ran2?=?new?Random(10);
//?對于種子相同的Random對象,生成的隨機(jī)數(shù)序列是一樣的。
System.out.println("使用種子為10的Random對象生成[0,10)內(nèi)隨機(jī)整數(shù)序列:?");
for?(int?i?=?0;?i?
{
System.out.print(ran2.nextInt(10)?+?"?");
}
System.out.println();
Random?ran3?=?new?Random(10);
System.out.println("使用另一個(gè)種子為10的Random對象生成[0,10)內(nèi)隨機(jī)整數(shù)序列:?");
for?(int?i?=?0;?i?
{
System.out.print(ran3.nextInt(10)?+?"?");
}
System.out.println();
//?ran2和ran3生成的隨機(jī)數(shù)序列是一樣的,如果使用兩個(gè)沒帶參數(shù)構(gòu)造函數(shù)生成的Random對象,
//?則不會(huì)出現(xiàn)這種情況,這是因?yàn)樵跊]帶參數(shù)構(gòu)造函數(shù)生成的Random對象的種子缺省是當(dāng)前系統(tǒng)時(shí)間的毫秒數(shù)。
//?另外,直接使用Random無法避免生成重復(fù)的數(shù)字,如果需要生成不重復(fù)的隨機(jī)數(shù)序列,需要借助數(shù)組和集合類
}
}
以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"Java隨機(jī)數(shù)函數(shù)怎么使用",希望對大家有幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為您服務(wù)。
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)
初級 202925
初級 203221
初級 202629
初級 203743