㈠ java如何獲取隨機數
Random r=new Random(); //實例化一個Random類
//隨機產生一個整數
System.out.println("隨機產生一個整數:"+r.nextInt());
//隨機產生一個大於等於0小於10的整數
System.out.println("隨機產生一個大於等於0小於10的整數:"+r.nextInt(10));
System.out.println("隨機產生一個布爾型的值:"+r.nextBoolean()); //隨機產生一個布爾型的值
System.out.println("隨機產生一個雙精度型的值:"+r.nextDouble()); //隨機產生一個雙精度型的值
System.out.println("隨機產生一個浮點型的值:"+r.nextFloat()); //隨機產生一個浮點型的值
//隨機產生一個概率密度為高斯分布的雙精度值
System.out.println("隨機產生一個概率密度為高斯分布的雙精度值:"+r.nextGaussian());
㈡ java如何產生1-8的整數隨機數
(int)(Math.random()*8)+1
或者
Random r =new Random(100);
System.out.println(r.nextInt(8)+1);
Java產生隨機數的兩種方式
1、通過Math.random()方法返回一個0到1之間的double值。
2、通過Random類來產生一個隨機數,這個是專業的Random工具類,功能強大。
Math.random()方法
Math.random()方法是 Java 的一個靜態方法,返回一個0到1之間,前閉後開區間的double值。
(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 類是 Java 的 util 包中的一個類。
一、Random類使用說明
Random類使用的根本策略是分帶種子和不帶種子的Random的實例。
通俗說,兩者的區別是:帶種子的,每次運行生成的結果都是一樣的。
不帶種子的,每次運行生成的都是隨機的,沒有規律可言。
創建不帶種子的Random對象
Random random = new Random();
使用一個和當前系統時間對應的相對時間有關的數字作為種子數。
創建帶種子的Random對象有兩種方法:
1) Random random = new Random(10);
2) Random random = new Random();random.setSeed(10);
種子的作用是什麼?
種子就是產生隨機數的第一次使用值,機制是通過一個函數,將這個種子的值轉化為隨機數空間中的某一個點上,並且產生的隨機數均勻的散布在空間中。以後產生的隨機數都與前一個隨機數有關。
舉例:
Random r =new Random(100);
System.out.println(r.nextInt(20));
100是種子,r.nextInt(20)中的20是隨機數的上限,產生的隨機數為0-20的整數,不包括20,種子數只是隨機演算法的起源數字,和生成的隨機數字的區間沒有任何關系。
初始化時100並沒有起直接作用(注意:不是沒有起作用)。
㈢ 在java中產生隨機數
一、利用random方法來生成隨機數。
在Java語言中生成隨機數相對來說比較簡單,因為有一個現成的方法可以使用。在Math類中,Java語言提供了一個叫做random的方法。通過這個方法可以讓系統產生隨機數。不過默認情況下,其產生的隨機數范圍比較小,為大於等於0到小於1的double型隨機數。雖然其隨機數產生的范圍比較小,不能夠滿足日常的需求。如日常工作中可能需要產生整數的隨機數。其實,只要對這個方法進行一些靈活的處理,就可以獲取任意范圍的隨機數。
如我們可以先通過random方法生成一個隨機數,然後將結果乘以10。此時產生的隨機數字即為大於等於0小於10的數字。然後再利用Int方法進行轉換(它會去掉小數掉後面的數字,即只獲取整數部分,不是四捨五入)。最後即可獲取一個0到9的整數型隨機數字。其實現方法很簡單,就是對原有的random方法按照如下的格式進行變型:(int)(Math.Random()*10)即可。其實我們還可以對這個方法進行擴展,讓其產生任意范圍內的隨機數。至需要將這個10換成n即可,如改為(int)(Math.Random()*n)。此時應用程序就會產生一個大於等於0小與n之間的隨機數。如將n設置為5,那麼其就會產生一個0到5之間的整數型的隨機數。如果將這個寫成一個帶參數的方法,那麼只要用戶輸入需要生成隨機數的最大值,就可以讓這個方法來生成制定范圍的隨機數。在Java中定義自己的工具庫
有時候程序員可能需要生成一個指定范圍內的隨機偶數或者奇數。此時是否可以通過這個方法來實現呢?答案是肯定的。如現在程序要需要生成一個1-100范圍內的偶數。此時該如何實現?首先,需要生成一個0到99之內的隨機數(至於這里為什麼是99,大家耐心看下去就知道原因了)。要實現這個需求,很簡單吧,只要通過如下語句就可以實現: i=1+(int)(Math.Random()*100)。其中(int)(Math.Random()*99)產生0到99的整數型隨機數。然後再加上1就是產生1到100之間的隨機整數。然後將產生的隨機數賦值給變數i。但是此時其產生的隨機數即有偶數,又有奇數。而現在程序員需要的是一個隨機的偶數。那麼我們可以在後面加上一個if判斷語句。將這個隨機數除以2,如果沒有餘數的話(或者余數為0)則表明這個隨機數是偶數,直接返回即可。如果其返回的余數不為零,那麼就表明其是奇數,我們只要加上1就變為了偶數,返回即可。注意,在上面的隨機數生成中,筆者採用的范圍是0到99,然後再加上1讓其變為1到100的隨機數。最後的結果就是生成1到100之間的隨機偶數。其實,如果要范圍隨機奇數的話,至需要對上面的語句進行稍微的修改即可。Java:改變你我的世界
㈣ 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如何獲取隨機數
隨機數控制在某個范圍內,使用模數運算符%x0dx0a import java.util.*;x0dx0a class TestRandom {x0dx0a public static void main(String[] args) {x0dx0a Random random = new Random();x0dx0a for(int i = 0; i < 10;i++) {x0dx0a System.out.println(Math.abs(random.nextInt())%10);x0dx0a }x0dx0a }x0dx0a }x0dx0a 獲得的隨機數有正有負的,用Math.abs使獲取數據范圍為非負數。
㈥ Java中用什麼方法提取Random()中產生的隨機數
Random
rand=new
Random();
int
num=rand.nextInt();//獲得一個整形隨機數
double
n=rand.nextDouble();//獲得一個double
型隨機數
boolean
flag=rand.nextBoolean();//獲得一個隨機boolean
型數據
Gaussian
gus
=rand.nextGaussian();//獲得一個隨機的高斯數據.
//分別列印出來
System.out.println(num);
System.out.println(n);
System.out.println(flag);
System.out.println(gus);
㈦ java獲取指定范圍的隨機數
public static void main(String[] args) {int max=20;
int min=10;
Random random = new Random();int s = random.nextInt(max)%(max-min+1) + min;
System.out.println(s);
}
1.此函數,生成min到max之間的隨機"整數"數.
2.如果需要小數,建議你也以整數開始,最後再除10,或者除100,您明白我意思么?
舉例,要生成5-10之間的保留兩位的小數點.
那就將min設置成50,max設置成100,這樣就可以得到50-100之間的數,輸出前除10,就能得到5-10之間的小數了.
㈧ java中獲取10到20隨機數的方法是什麼
方法1 x0dx0a(數據類型)(最小值+Math.random()*(最大值-最小值+1)) x0dx0a例: x0dx0aint i = (int)(10+Math.random()*(20-10+1)) x0dx0a從10到20的int型隨數 x0dx0a--------------------------------------------------------------------
㈨ java獲取隨機數的幾種方法是什麼
方法1x0dx0a(數據類型)(最小值+Math.random()*(最大值-最小值+1))x0dx0a例:x0dx0a(int)(1+Math.random()*(10-1+1))x0dx0a從1到10的int型隨數x0dx0a方法2x0dx0a獲得隨機數x0dx0afor (int i=0;i<30;i++)x0dx0a{System.out.println((int)(1+Math.random()*10));}x0dx0a(int)(1+Math.random()*10)x0dx0a通過java.Math包的random方法得到1-10的int隨機數x0dx0a公式是:最小值---最大值(整數)的隨機數x0dx0a(類型)最小值+Math.random()*最大值x0dx0a方法3x0dx0aRandom ra =new Random();x0dx0afor (int i=0;i<30;i++)x0dx0a{System.out.println(ra.nextInt(10)+1);}x0dx0a通過java.util包中的Random類的nextInt方法來得到1-10的int隨機數 x0dx0a生成0到1之間的任意隨機小數:x0dx0a生成[0,d)區間的隨機小數,d為任意正的小數,則只需要將nextDouble方法的返回值乘以d即可。x0dx0a[n1,n2]x0dx0a也就是 ra.nextDouble() * (n2-n1)+n1
㈩ java如何生成隨機數
可以先通過random方法生成一個隨機數,然後將結果乘以100,然後再利用int方法進行轉換,就可以得到一個0到99的隨機整數。