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