Random r = new Random();
東興網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),東興網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為東興成百上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個(gè)售后服務(wù)好的東興做網(wǎng)站的公司定做!
r.nextInt(11);
產(chǎn)生 0 -10 之間隨機(jī)數(shù) 明白了嗎?
可以參考Random類的api
公式:Math.random()*(n-m)+m,生成大于等于m小于n的隨機(jī)數(shù)
按公示取隨機(jī)數(shù)10000至99999[10000,99999):
故:Math.random()*(99999-10000)+10000;
可以借助Math類里的random方法或者借助Random類來實(shí)現(xiàn)
1、使用Math類的random方法實(shí)現(xiàn)產(chǎn)生1000-9999的隨機(jī)數(shù)代碼如下:
int?a?=?(int)(Math.random()*(9999-1000+1))+1000;//產(chǎn)生1000-9999的隨機(jī)數(shù)
2、使用Random類實(shí)現(xiàn)代碼:
import?java.util.Random;//導(dǎo)入Random包
public?class?Ranadd?{
public?static?void?main(String[]?args)?{
int?x;//定義兩變量
Random?ne=new?Random();//實(shí)例化一個(gè)random的對象ne
x=ne.nextInt(9999-1000+1)+1000;//為變量賦隨機(jī)值1000-9999
System.out.println("產(chǎn)生的隨機(jī)數(shù)是:"+x);//輸出
}
}
說明:
1、Java中Math類中有random方法產(chǎn)生的隨機(jī)數(shù)是一個(gè)偽隨機(jī)選擇的(大致)均勻分布在從0.0到1.0這一范圍內(nèi)的double類型數(shù)
2、java.util.Random類中實(shí)現(xiàn)的隨機(jī)算法是偽隨機(jī),也就是有規(guī)則的隨機(jī),所謂有規(guī)則的就是在給定種(seed)的區(qū)間內(nèi)隨機(jī)生成數(shù)字;相同種子數(shù)的Random對象,相同次數(shù)生成的隨機(jī)數(shù)字是完全相同的;Random類中各方法生成的隨機(jī)數(shù)字都是均勻分布的,也就是說區(qū)間內(nèi)部的數(shù)字生成的幾率均等;
可以使用Random類產(chǎn)生隨機(jī)數(shù),利用HashSet集合類過濾掉重復(fù)值,因?yàn)镠ashSet具有不重復(fù)性,重復(fù)的值,添加不成功,這樣保證了集合里的數(shù)是唯一的。
以下代碼供你參考一下:
package?com.dusd;
import?java.util.*;
public?class?RandomDemo?{
public?static?void?main(String[]?args)?{
//HashSet類具有唯一性
SetInteger?distinctNumbers?=?new?HashSetInteger();
Random?rand?=?new?Random();
//通過循環(huán)產(chǎn)生6個(gè)不重復(fù)的100以內(nèi)的整數(shù)
for?(int?i?=?0;?i??6;?i++)
if?(distinctNumbers.add(new?Integer(rand.nextInt(100))));
System.out.println(distinctNumbers);
}
}
這個(gè)的方法有非常多.1.你可以使用時(shí)間來做到獲取當(dāng)前毫秒數(shù),比如:System.currentTimeMillis;2.使用 Math類Double b=(Double)(Math.random()*1000);3.使用專用隨機(jī)類Random random=new Random();int intNumber=random.nextInt(); 當(dāng)然,這些方法返回的未必是一個(gè)0-9的數(shù),假設(shè) 獲得的數(shù)為 a你可以使用 String b = String.valueOf(a);
int c = Integer.valueOf(b.substring(b.length()-1));來獲取最后一個(gè)數(shù)
隨機(jī)數(shù)生成的是0到1之間的數(shù)嘛(不包括1),你想取1,2,3,你可以把隨機(jī)乘以3,那么隨機(jī)數(shù)就能取0,1,2了,再加1,就可以是1,2,3了