首先自定義數(shù)組 然后用隨即函數(shù)Random()重組數(shù)據(jù) Random()函數(shù)用法參考:http://blog.csdn點虐 /wpjava/article/details/6004492 用Set集合來保存重組的新數(shù)據(jù)以保證數(shù)據(jù)的唯一性。

創(chuàng)新互聯(lián)建站服務(wù)項目包括上蔡網(wǎng)站建設(shè)、上蔡網(wǎng)站制作、上蔡網(wǎng)頁制作以及上蔡網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,上蔡網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到上蔡省份的部分城市,未來相信會繼續(xù)擴大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
java中要使生成的隨機數(shù)不重復(fù)可以將已經(jīng)生成的隨機數(shù)放入到數(shù)組中,每次生成隨機數(shù)時與數(shù)組的內(nèi)容比較是否相等,相等則重新生成,不相等則存入數(shù)組。
看代碼 import java.util.*;/** * 生成不重復(fù)隨機數(shù)的一種算法。
int n[]=new int[]{8,8,8,8}; //改為 8 int temp=0;inner: for(int i=0;i4;i++){ temp=r.nextInt(4); // 改為4 ,加大重復(fù)數(shù)出現(xiàn)的概率。
雖然代碼多,但是效率算是最高的。而且也沒有多想一些設(shè)計很簡單。。
j]){ a[i]=(int)(Math.random()*(L));j=0;//必須讓j重新為0,因為a[i]已經(jīng)重新取了隨機數(shù),有可能與0到j(luò)之 間的數(shù)重復(fù),必須重新遍歷以確保數(shù)字的唯一性。
1、java中要使生成的隨機數(shù)不重復(fù)可以將已經(jīng)生成的隨機數(shù)放入到數(shù)組中,每次生成隨機數(shù)時與數(shù)組的內(nèi)容比較是否相等,相等則重新生成,不相等則存入數(shù)組。
2、看代碼 import java.util.*;/** * 生成不重復(fù)隨機數(shù)的一種算法。
3、首先創(chuàng)建一個數(shù)組,并為每個元素賦值-1;因為樓主要求從[0,n-1]中取數(shù)呀 其次for循環(huán),隨即取值依次填入數(shù)組中。
用內(nèi)置方法Math.random()產(chǎn)生一個隨機數(shù)介于0~1。強制轉(zhuǎn)化為int類型,根據(jù)int類型的特點,這個數(shù)是0~5之間的整數(shù)。得到的數(shù)加1,這樣這個數(shù)就是介于1~6的整數(shù),并且是隨機的。
你好:random產(chǎn)生的是[0,1)的小數(shù)。如果想要產(chǎn)生50--100之間的數(shù)字;先讓它產(chǎn)生[0--50)之間的數(shù)字,也就是 random()*50然后在后面加上51,也就是random()*50+51;得到的就是[50--100]的整數(shù)了。
直到不同在插于進去,具體做法是外層是一個for循環(huán),100次,內(nèi)層用do while語句,將生成的隨機數(shù)插于,插于排序可以參考數(shù)據(jù)接口,是種很簡單的,我不喜歡直接幫你們寫程序,我想幫你講了這些,你一定可以實現(xiàn)。
int num = (int)(Math.random() * 100)+1;你可以寫一個將數(shù)字變成英文字母的方法,具體算法可以自己寫。存儲的時候?qū)?shù)字與英文拼接起來作為String存入就行啦。
本文題目:java隨機不重復(fù)數(shù)代碼 java不重復(fù)的隨機數(shù)
分享URL:http://chinadenli.net/article41/dedpihd.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、小程序開發(fā)、自適應(yīng)網(wǎng)站、微信小程序、微信公眾號、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)