java 產生隨機數的兩種方法
一、利用Math.random()方法。
需要生成一個0到99之內的隨機數,通過如下語句就可以實現:
i=1+(int)(Math.Random()*100)。
其中(int)(Math.Random()*99)產生0到99的整數型隨機數。然後再加上1就是產生1到100之間的隨機整數。
(int)(Math.random()*10) 返回0到9的隨機整數。
(int)(Math.random()*n) 返回0到n的隨機整數。
(int)(Math.random()*100)+1 返回1到100之間的隨機整數,前面返回0到99之間的隨機數,加1就成了1到100之間的隨機數。
二、通過Random類來生成隨機數。
Random i=new Random()。通過這條語句就利用了Random類建立了一個隨機數的生成器。
必須先建立一個物件。也就是說利用Randow類來建立物件。
Java.util.Random類的方法:
- protected int next(int bits):生成下一個偽隨機數。
- boolean nextBoolean():返回下一個偽隨機數,它是取自此隨機數生成器序列的均勻分佈的boolean值。
- void nextBytes(byte[] bytes):生成隨機位元組並將其置於使用者提供的 byte 陣列中。
- double nextDouble():返回下一個偽隨機數,它是取自此隨機數生成器序列的、在0.0和1.0之間均勻分佈的 double值。
- float nextFloat():返回下一個偽隨機數,它是取自此隨機數生成器序列的、在0.0和1.0之間均勻分佈float值。
- double nextGaussian():返回下一個偽隨機數,它是取自此隨機數生成器序列的、呈高斯(“正態”)分佈的double值,其平均值是0.0標準差是1.0。
- int nextInt():返回下一個偽隨機數,它是此隨機數生成器的序列中均勻分佈的 int 值。
- int nextInt(int n):返回一個偽隨機數,它是取自此隨機數生成器序列的、在(包括和指定值(不包括)之間均勻分佈的int值。
- long nextLong():返回下一個偽隨機數,它是取自此隨機數生成器序列的均勻分佈的 long 值。
10.void setSeed(long seed):使用單個 long 種子設定此隨機數生成器的種子。
方法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隨機數