這篇文章主要介紹了java中生成任意之間數(shù)的隨機(jī)數(shù)詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
創(chuàng)新互聯(lián),是成都地區(qū)的互聯(lián)網(wǎng)解決方案提供商,用心服務(wù)為企業(yè)提供網(wǎng)站建設(shè)、成都App定制開(kāi)發(fā)、小程序開(kāi)發(fā)、系統(tǒng)按需設(shè)計(jì)和微信代運(yùn)營(yíng)服務(wù)。經(jīng)過(guò)數(shù)10余年的沉淀與積累,沉淀的是技術(shù)和服務(wù),讓客戶少走彎路,踏實(shí)做事,誠(chéng)實(shí)做人,用情服務(wù),致力做一個(gè)負(fù)責(zé)任、受尊敬的企業(yè)。對(duì)客戶負(fù)責(zé),就是對(duì)自己負(fù)責(zé),對(duì)企業(yè)負(fù)責(zé)。
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í)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。