java產生隨機數的函數
Ⅰ java如何產生1-10隨機數
java代碼方法一如下:
int random=(int)(Math.random()*10+1)
java代碼方法二如下:
package bdqn_Empy;
import java.util.Random;
public class Text {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int a=0;
Random b=new Random();
a=b.nextInt(101);
System.out.println(a);
}
}
(1)java產生隨機數的函數擴展閱讀:
可以先通過 random方法生成一個隨機數,然後將結果乘以10。此時產生的隨機數字即為大於等液虧於0小於10的數字。
然後再利用nt方法進行轉換它會去掉小數掉後面的數字即只獲取整數部分,不是四捨五入)。最後即可獲取一個0到9的整數型隨機數字。其實現方法很簡單,就是對原有的 grandom方法按照如下的格式進行變型:(int( Math. Random0*10)即可。
其實我們還可以對這個方法進行擴展,讓其產生任意范圍內的隨機數。至需要將這個10換成n即可,如改為( int(Math. Random0n)。此時應用程序就會產生一個大於等於0小與n之間的隨鬧彎神機數。
如將n設置為5,那麼其就會產生一個0到5之間的整數型的隨機數。如果將這個寫成一個帶參數的方法,那麼只要用戶輸入需要鬧消生成隨機數的最大值,就可以讓這個方法來生成制定范圍的隨機數。
Ⅱ java的兩種產生隨機數[0-2]
方法一不能產生數值為2的隨機數,只能產生數值為0,1的隨機數。
Math的public static double random()方法返回一個double值,該值大於等於 0.0且小於1.0。
因此(int)(Math.random()*2);中Math.random()*2的值是一個隨機的大於等於0,小於2的double型的小數,強制轉換成int後只能產生數字0,1,不能產生2。
假設要產生[min,max]范圍的整數,可以使用以下公式:
(int)(Math.random()*(max-min+1))+min;
因此,要產生[0,2]可以使用int computer=(int)(Math.random()*3);。
方法二可以。
Ⅲ 關於Java里產生1-6隨機數的方法
我認為2種方法產生的1~6的幾率是相等的,都為1/6.
第一種(int)(Math.random()*10)%6得到0~6的隨機數,每個數的產生的概率為1/7,再加上1,得到1~6的隨機數,0不再出現,每個數產生的幾率1/6.
另一種(int)(Math.random()*6)產生0~5,每個數產生的概率為1/6,再加上1,得到1~6的隨機數,每個數產生的幾率仍為1/6.
Ⅳ 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如何生成隨機數
可以先通過random方法生成一個隨機數,然後將結果乘以100,然後再利用int方法進行轉換,就可以得到一個0到99的隨機整數。