導航:首頁 > 編程語言 > java生成不重復的數字

java生成不重復的數字

發布時間:2022-04-20 20:01:14

java中如何在0~25的范圍內生成五個不重復的數

按照你的要求編寫的[0-25]范圍內生成五個不重復的整數的Java程序如下

(注意 [0-25]包括0和25兩個整數)

publicclassA{
publicstaticvoidmain(String[]args){
int[]a=newint[5];//定義一個5個元素的整型數組用於存放[0-25]范圍的五個不重復的整數
inti,count=1;//定義一個整型循環變數i,和一個統計不重復整數個數的整型變數count,初始化為1,表示進入while循環前已經有一個數了.
a[0]=(int)(Math.random()*26);//生成第一個[0-25]的隨機整數
while(count<5){//如果生成的隨機數不到5個繼續循環
inttemp=(int)(Math.random()*26);//生成[0-25]的隨機整數,放入臨時變數temp
booleanflag=true;//用於判斷是否與數組已有整數重復的標志,如果不重復為true,重復為false.
for(i=0;i<count;i++){//數組已有數據循環
if(temp==a[i]){//判斷新產生的隨機數是否與數組中已有的數據重復
flag=false;//有重復則設置標志為false
break;//有重復退出循環
}
}
if(flag==true){//如果與數組中的數據不重復
a[count]=temp;//把數據賦給數組
count++;//數組中的整數個數加1
}
}
for(i=0;i<a.length;i++){
System.out.print(a[i]+"");//輸出[0-25]范圍內的五個不重復的整數
}
}
}

㈡ 怎樣用java產生一個指定范圍而且不重復的隨機數

publicintgetRandomNumber(){

IntegerrandomNumber=(int)(Math.random()*100);//產生0-100隨機數

List<Integer>list=newArrayList<Integer>();
if(!list.contains(randomNumber)){//判斷是否重復,不是重復的加入集合
list.add(randomNumber);
}else{//如果產生的隨機數是重復的,用遞歸的方法再次生成
getRandomNumber();
}

returnrandomNumber;
}

我想的思路如上面代碼所示。

㈢ JAVA中怎樣自動生成不重復的數字

/**
*隨機產生指定范圍內不重復的數字
*
*@parammin產生最小數字
*@parammax產生最大數字
*@paramcount總共要產生多少個不重復的數
*@returnint數組,是從小到大排序後的結果
*/
publicstaticint[]getRandomNumbers(intmin,intmax,intcount){
intnum=0;
inti=0;
int[]arrs=newint[count];
if(count>(max-min)){
System.out.println("產生的數字個數超出設定最大最小值之間的范圍!");
returnnull;
}
while(i<count){
num=(int)(Math.random()*max);
if(num>=min&&!ArrayUtils.contains(arrs,num)){
arrs[i]=num;
i++;
}
}
Arrays.sort(arrs);
returnarrs;
}

㈣ 用java如何生成 5組隨機不重復的2位數,求大神指教

public static void main(String[] args) {
Random random=new Random();
List<Integer> ints=new ArrayList<Integer>();
int len=0;
while(len<30){//30個,沒6個一組,剛好5組
int temp=random.nextInt(90)+10;
int flag=0;
if(ints.size()==0){
ints.add(temp);
}else{
for(int it:ints){
if(it==temp){//重復
flag=1;
break;
}
}
if(flag==0){//沒有重復
ints.add(temp);
len++;
}
}
}
StringBuffer sb=new StringBuffer("[");
for(int i=0;i<5;i++){
for(int j=0;j<6;j++){
sb.append(ints.get(6*i+j)+",");
}
sb.delete(sb.length()-1, sb.length());
sb.append("]\n[");
}
sb.delete(sb.length()-1, sb.length());
System.out.println(sb);
}

㈤ java怎麼產生不會重復的隨機數

//產生20個不重復隨機數
publicstaticvoidmain(String[]args){
booleantag=true;
List<Integer>list=newArrayList<>();
for(inti=0;i<20;i++){
intv=(int)(Math.random()*100+1);
for(Integerinteger:list){
if(integer==v){
tag=false;
}
}
if(tag){
list.add(v);
}
}

for(Integerinteger:list){
System.out.println(integer);
}
}

㈥ java如何生成一組隨機的不重復的數列

把源數據放到數組中,然後循環隨機交換這個數組元素的位置就可以了
int[]aa
=
{1,2,5,6,8,9,7};
Random
r
=
new
Random();
for(int
i=0;i<100;i++)
{
int
index
=
r.nextInt(aa.length);
int
temp
=
aa[0];
aa[0]
=
aa[index];
aa[index]
=
temp;
}

㈦ Java怎麼產生不重復的隨機數,求代碼

/**
*隨機指定范圍內N個不重復的數
*最簡單最基本的方法
*@parammin指定范圍最小值
*@parammax指定范圍最大值
*@paramn隨機數個數
*/
publicstaticint[]randomCommon(intmin,intmax,intn){
if(n>(max-min+1)||max<min){
returnnull;
}
int[]result=newint[n];
intcount=0;
while(count<n){
intnum=(int)(Math.random()*(max-min))+min;
booleanflag=true;
for(intj=0;j<n;j++){
if(num==result[j]){
flag=false;
break;
}
}
if(flag){
result[count]=num;
count++;
}
}
returnresult;
}

㈧ 如何讓JAVA生成不重復隨機數

一個不錯的演算法,很簡單,但有效。不過如果范圍比較大,則佔用內存大,就不推薦使用了。個人感覺1000個以內的就可以考慮。這東西也許你早就知道了,但我依然驚嘆演算法的力量。看代碼 import java.util.*;/** * 生成不重復隨機數的一種演算法。***/ public class T { public static void main(String args) { // 種子你可以隨意生成,但不能重復 int seed = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int ranArr = new int; Random ran = new Random(); // 數量你可以自己定義。 for (int i = 0; i seed.length; i++) { // 得到一個位置 int j = ran.nextInt(seed.length - i); // 得到那個位置的數值 ranArr[i] = seed[j]; // 將最後一個未用的數字放到這里 seed[j] = seed[seed.length - 1 - i];} System.out.println("ranArr:" + Arrays.toString(ranArr));}} 一個運行結果

㈨ JAVA怎麼生成不重復的隨機數

沒辦法,只好把生成的隨機數放到set中,以後每次取隨機數,判一下set,有的話,重新生成。

閱讀全文

與java生成不重復的數字相關的資料

熱點內容
單片機kill4軟體下載收費嗎 瀏覽:846
蘋果手機怎麼連接RMS伺服器 瀏覽:603
cisco路由器基本配置命令 瀏覽:186
android狀態欄顏色透明 瀏覽:116
db2編譯工具 瀏覽:181
騰訊雲伺服器創建環境 瀏覽:567
監管資金怎麼解壓 瀏覽:671
榮耀手機內存清理文件夾 瀏覽:175
外派程序員方案 瀏覽:554
安卓怎麼把桌面的軟體變成卡通 瀏覽:885
魯班鎖解壓嗎 瀏覽:395
打包發送文件如何加密 瀏覽:213
centos解壓縮zip 瀏覽:388
我的世界怎麼用命令風塊取消指令 瀏覽:1000
安卓軟體請求超時怎麼辦 瀏覽:476
androidapp調用另一個app 瀏覽:621
數控銑床法蘭克子程序編程 瀏覽:174
linux打包命令targz 瀏覽:997
抖音app是哪個 瀏覽:407
蘋果app怎麼上架 瀏覽:255