java中生成任意之間數(shù)的隨機(jī)數(shù)詳解
這篇文章主要介紹了java中生成任意之間數(shù)的隨機(jī)數(shù)詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
public static int cssjs(int a,int b) {
Random rand=new Random();
int zhi;
zhi=rand.nextInt(b)%(b-a+1)+a;
return zhi;
}
我們觀察其Random對(duì)象的nextInt(int)方法,發(fā)現(xiàn)這個(gè)發(fā)現(xiàn)這個(gè)方法將生成 0 ~ 參數(shù)之間隨機(jī)取值的整數(shù)。例如(假設(shè)先有 Random rand = new Random();
rand.nextInt(100);這行代碼將生成范圍 0~100 之間的隨機(jī)數(shù),有趣的是,取值可能為 0 ,但不可能為 100。我們用中學(xué)數(shù)學(xué)課學(xué)習(xí)的區(qū)間表示法,表示為:[0, 100)。
對(duì)產(chǎn)生任意取值范圍內(nèi)隨機(jī)數(shù)的數(shù)學(xué)原理的解釋:先獲取0-max之間的隨機(jī)數(shù),然后對(duì)max-min+1取余,這樣得到的是0到max-min,然后再加上最小值min,就是需要的隨機(jī)數(shù)。假設(shè)max = 100;min=50;random.nextInt(100)應(yīng)該是0-100之間的數(shù)吧,max-min+1 應(yīng)該是51吧。
取余數(shù)所得的數(shù)應(yīng)該是0-50吧。最后再加上最小數(shù)(50) 應(yīng)該是50-100吧。跟假設(shè)的最大數(shù)和最小數(shù)是對(duì)應(yīng)的吧。你可以再假設(shè)其它數(shù)去試。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Java生成N個(gè)不重復(fù)的隨機(jī)數(shù)的三種方法總結(jié)
- 如何通過Java生成一個(gè)隨機(jī)數(shù)
- Java如何生成隨機(jī)數(shù)不了解下嗎
- Java生成隨機(jī)數(shù)之Random與ThreadLocalRandom性能比較詳解
- java并發(fā)高的情況下用ThreadLocalRandom來(lái)生成隨機(jī)數(shù)
- java的三種隨機(jī)數(shù)生成方式
- Java中生成隨機(jī)數(shù)的4種方式與區(qū)別詳解
- Java生成的隨機(jī)數(shù)靠譜嗎?多少次會(huì)重復(fù)?
- Java實(shí)現(xiàn)生成n個(gè)不重復(fù)的隨機(jī)數(shù)
- JAVA 16位ID生成工具類含16位不重復(fù)的隨機(jī)數(shù)數(shù)字+大小寫
- JavaSE API實(shí)現(xiàn)生成隨機(jī)數(shù)的2種方法(Random類和Math類的Random方法)
相關(guān)文章
使用Java實(shí)現(xiàn)Excel導(dǎo)入并進(jìn)行數(shù)據(jù)校驗(yàn)
這篇文章主要為大家詳細(xì)介紹了Java如何根據(jù)下載的指定數(shù)據(jù)模板寫入數(shù)據(jù)和導(dǎo)入并進(jìn)行數(shù)據(jù)校驗(yàn),文中的示例代碼講解詳細(xì),需要的可以了解下2025-03-03
Jersey實(shí)現(xiàn)Restful服務(wù)(實(shí)例講解)
下面小編就為大家?guī)?lái)一篇Jersey實(shí)現(xiàn)Restful服務(wù)(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2017-08-08
java使用CountDownLatch等待多線程全部執(zhí)行完成
這篇文章主要為大家詳細(xì)介紹了使用CountDownLatch等待多線程全部執(zhí)行完成,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10
Java終止循環(huán)體的具體實(shí)現(xiàn)
這篇文章主要介紹了Java終止循環(huán)體的具體實(shí)現(xiàn),需要的朋友可以參考下2014-02-02
深入分析@Resource和@Autowired注解區(qū)別
這篇文章主要為大家介紹了深入分析@Resource和@Autowired注解區(qū)別,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
Java內(nèi)建函數(shù)與庫(kù)的最佳實(shí)踐方式
Java提供了許多高效的內(nèi)建函數(shù)和庫(kù),如Math、String、Arrays、Collections等類,以及java.util.concurrent、java.nio、java.util.stream、java.util.regex和java.time等包,通過利用這些工具和方法,可以顯著提高Java代碼的性能和效率2025-03-03

