① java怎麼產生隨機數
一、利用random方法來生成隨機數。
在Java語言中生成隨機數相對來說比較簡單,因為有一個現成的方法可以使用。在Math類中,Java語言提供了一個叫做random的方法。通過這個方法可以讓系統產生隨機數。
二、通過Random類來生成隨機數。
在Java語言中,除了可以通過random 方法來產生隨機數之外,還可以通過一個random類來產生隨機數。程序開發人員可以通過實例化一個Random對象來創建一個隨機數的生成器。如 Random i=new Random()。通過這條語句就利用了Random類創建了一個隨機數的生成器。數
三、產生隨機的字元。
可以利用random方法來產生隨機字元。如可以利用代碼生成一個隨機的小寫字元:(char)(『a』+Math.random()*(『z』-『a』+1))。其實這跟生成任意兩個數之間的隨機數類似。通過以上的代碼就可以生成一個范圍之內的任意隨機字元。通過對這個代碼進行適當的修整,還可以生成任意兩個字元之間的隨機字元與任意大寫字元的隨機字元。其轉換的方式跟上面提到的任意范圍之內的隨機數類似。
② java中Math類中的random方法和Random類有什麼區別
random方法是java.lang.Math的方法,作用是返回帶正號的 double 值,該值大於等於 0.0 且小於 1.0。而Random類是一個類(java.util.Random),裡面含有很多方法。
Math.random()返回的只是從0到1之間的小數,如果要50到100,就先放大50倍,即0到50之間,這里還是小數,如果要整數,就強制轉換int,然後再加上50即為50~100。最終代碼:(int)(Math.random()*50) + 50。
Random類產生的隨機數,在其最大值范圍內,按照概率均勻分布的。也就是說,兩個種子數相同的Random對象,第一次生成的隨機數字完全相同,第二次生成的隨機數字也完全相同。
③ java獲取隨機數的幾種方法
方法1
(數據類型)(最小值+Math.random()*(最大值-最小值+1))
例:
(int)(1+Math.random()*(10-1+1))
從1到10的int型隨數
方法2
獲得隨機數
for (int i=0;i<30;i++)
{System.out.println((int)(1+Math.random()*10));}
(int)(1+Math.random()*10)
通過java.Math包的random方法得到1-10的int隨機數
公式是:最小值---最大值(整數)的隨機數
(類型)最小值+Math.random()*最大值
方法3
Random ra =new Random();
for (int i=0;i<30;i++)
{System.out.println(ra.nextInt(10)+1);}
通過java.util包中的Random類的nextInt方法來得到1-10的int隨機數
生成0到1之間的任意隨機小數:
生成[0,d)區間的隨機小數,d為任意正的小數,則只需要將nextDouble方法的返回值乘以d即可。
[n1,n2]
也就是 ra.nextDouble() * (n2-n1)+n1
④ Java用Math.random()生成一個50-100間的整型隨機數
Math類的random()方法可以生成[0,1)之間的隨機浮點數。
double類型數據強制轉換成int類型,整銷橋純數部消轎分賦值虧咐給int類型變數,小數點之後的小數部分將會丟失。
int b=(int)(Math.random()*10);//生成[0,9]之間的隨機整數。
int temp=m+(int)(Math.random()*(n+1-m)); //生成從m到n的隨機整數[m,n]
(4)java的random函數擴展閱讀:
用Math類的random()方法產生一個字元,若該字元是一個大寫英文字母,則輸入 「Yes!」,否則輸出「NO」。
//產生一個[0,1)之間的隨機數。
Math.random():
//返回指定范圍的隨機數(m-n之間)的公式:
Math.random()*(n-m)+m;
或者
Math.random()*(n+1-m)+m
⑤ Java中用Random類生成1到9的隨機數該怎麼寫使用種子
寫法:inttemp=m+(int)(Math.random()*(n+1-m));//Java生成從m到n的隨機整數[m,n]。
random(),函數,random函數返回一個0~num-1之間的隨機數。random(num)是在stdlib.h中的一個宏定義。num和函數返回值都是整型數。
(5)java的random函數擴展閱讀:
注意
如需要在一個random()序列上生成真正意義的隨機數,在執行其子序列時使用randomSeed()函數預設一個絕對的隨機輸入,例如在一個斷開引腳上的analogRead()函數的返回值。
反之,有些時候偽隨機數的精確重復也是有用的。這可以在一個隨機系列開始前,通過調用一個使用固定數值的randomSeed()函數來完成。