成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java產生不重復隨機數方法

開發 后端
本文講述了Java生成不重復隨機數的兩種方法,并給出了其實現的相應的代碼。

關于生成Java不重復的隨機數:

  1. import java.util.*;  
  2. public class Test...{  
  3.     public static void main(String[] args)...{  
  4.         //生成 [0-n) 個不重復的隨機數  
  5.         / st 用來保存這些隨機數  
  6.         ArrayList list = new ArrayList();  
  7.           
  8.           
  9.         int n = 10;  
  10.         Random rand = new Random();  
  11.         boolean[] bool = new boolean[n];  
  12.           
  13.         int num =0;  
  14.           
  15.         for (int i = 0; i<n; i++)...{  
  16.               
  17.       
  18.             do...{  
  19.                 //如果產生的數相同繼續循環  
  20.                 num = rand.nextInt(n);      
  21.                
  22.             }while(bool[num]);  
  23.               
  24.             bool[num] =true;  
  25.               
  26.             list.add(num);  
  27.           
  28.           
  29.         }  
  30.               
  31.       
  32.         System.out.println (list);      
  33. }          
  34.           
  35.  
  36.  
  37. public class Test  
  38. {  
  39.  
  40.     public static void main(String[] args)  
  41.     {  
  42.         int[] arr = new int[10];  
  43.  
  44.         for (int i = 0; i < 10; i++)  
  45.         {  
  46.             arr[i] = (int) (Math.random() * 40) + 1;  
  47.             for (int j = 0; j < i; j++)  
  48.             {  
  49.                 if (arr[j] == arr[i])  
  50.                 {  
  51.                     i--;  
  52.                     break;  
  53.                 }  
  54.             }  
  55.         }  
  56.         for (int i = 0; i < 10; i++)  
  57.             System.out.print(arr[i] + " ");  
  58.     }  
  59. }  
  60.  
  61.  
  62. b.  
  63.  
  64. Java code  
  65.  
  66.  
  67. import   java.util.*;   
  68. public   class   Test   
  69. {   
  70.           
  71.         public   static   void   main(String[]   args)   
  72.         {   
  73.                 int   n=40;   
  74.                 int[]   num   =   new   int[n];   
  75.                 for(int   i=0;i <num.length;i++)   
  76.                         num[i]   =   i+1;   
  77.                 int[]   arr   =   new   int[10];   
  78.                 for(int   i=0;i <arr.length;i++)   
  79.                 {   
  80.                         int   r   =(int)(Math.random()*n);   
  81.                         arr[i]=num[r];   
  82.                         num[r]=num[n-1];   
  83.                         n--;   
  84.                 }   
  85.                 for(int   i=0;i <arr.length;i++)   
  86.                         System.out.print(arr[i]+"   ");   
  87.         }   
  88. }  
  89.  
  90.  
  91.  
  92. c.  
  93.  
  94. Java code  
  95.  
  96.  
  97. import   java.util.*;   
  98. public   class   Test   
  99. {   
  100.           
  101.         public   static   void   main(String[]   args)   
  102.         {   
  103.                 LinkedList <Integer>   myList=   new   LinkedList <Integer> ();   
  104.                 int   n=40;   
  105.                 for(int   i=0;i <n;i++)   
  106.                         myList.add(i+1);   
  107.                 int[]   arr   =   new   int[10];   
  108.                 for(int   i=0;i <arr.length;i++)   
  109.                 {   
  110.                         arr[i]=myList.remove((int)(Math.random()*n));   
  111.                         n--;   
  112.                 }   
  113.                 for(int   i=0;i <arr.length;i++)   
  114.                 {   
  115.                         System.out.print(arr[i]+"   ");   
  116.                 }   
  117.         }   
  118. }  
  119.  
  120.  
  121.  
  122. d.  
  123.  
  124. Java code  
  125.  
  126.  
  127. import   java.util.*;   
  128. public   class   Test   
  129. {   
  130.           
  131.         public   static   void   main(String[]   args)   
  132.         {   
  133.                 Set <Integer>   mySet   =   new   LinkedHashSet <Integer> ();   
  134.                 while(mySet.size() <10)   
  135.                 {   
  136.                         mySet.add((int)(Math.random()*40+1));   
  137.                 }   
  138.                 for(Integer   i:mySet)   
  139.                 {   
  140.                         System.out.print(i+"   ");   
  141.                 }   
  142.         }   
  143. }  
  144.  


方法一:
在一個待選數組中隨機產生一個數,然后把他放到待選數組的最后,然后從length-1里隨機產生下一個隨機數,如此類推

  1. public static int[] randoms()  
  2. {  
  3. Random r = new Random();  
  4.  
  5. int temp1,temp2;  
  6. int send[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21};  
  7. int len = send.length;  
  8. int returnValue[] = new int[22];  
  9. for(int i=0;i<22;i++)  
  10. {  
  11. temp1 = Math.abs(r.nextInt())% len;  
  12. returnValue[i] = send[temp1];  
  13. temp2 = send[temp1];  
  14. send[temp1] = send[len-1];  
  15. send[len-1] = temp2;  
  16. len--;  
  17. }  
  18. return returnValue;  
  19. }  

方法二:
還是一個固定的無重復的數組,然后把這個數組隨機調換位置,多次之后這個數組就是一個無重復的隨機數組了。

  1. public static int[] random2()  
  2. {  
  3.    int send[] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21};  
  4.    int temp1,temp2,temp3;  
  5.    Random r = new Random();  
  6.    for(int i=0;i<send.length;i++) //隨機交換send.length次  
  7.    {  
  8.     temp1 = Math.abs(r.nextInt())%(send.length-1); //隨機產生一個位置  
  9.     temp2 = Math.abs(r.nextInt())%(send.length-1); //隨機產生另一個位置  
  10.     if(temp1 != temp2)  
  11.     {  
  12.      temp3 = send[temp1];  
  13.      send[temp1] = send[temp2];  
  14.      send[temp2] = temp3;  
  15.     }  
  16.    }  
  17.    return send;  
  18. }  
  19.  


 

【編輯推薦】

  1. 20個開發人員非常有用的Java功能代碼
  2. 走進Java 7中的模塊系統
  3. JavaFX 1.2 已經發布 主要新功能一覽
  4. 2009年十大Java技術解決方案
  5. 2008最值得學習的五種JAVA技術

 

責任編輯:仲衡 來源: 百度博客
相關推薦

2010-02-01 17:02:53

C++產生隨機數

2011-03-28 14:57:58

不重復隨機數列生成

2009-06-17 17:37:43

Java隨機數

2010-07-15 13:34:32

Perl隨機數

2009-07-06 15:11:18

Java 隨機數

2011-07-08 15:11:03

JAVA

2011-05-24 17:08:57

rand()srand()

2019-09-11 10:09:00

Java虛擬機算法

2010-10-25 16:29:45

Oracle隨機數產生

2010-10-09 15:35:25

MySQL rand函

2023-01-03 07:49:45

Java隨機數線程

2012-03-22 09:31:14

Java

2024-11-01 15:51:06

2011-07-08 10:32:11

Objective-C 隨機數

2009-12-08 11:44:14

PHP獲取隨機數

2010-09-06 17:40:59

SQL函數

2021-12-27 09:31:20

HashtableJava隨機數

2025-01-17 00:00:00

Java隨機數服務

2009-12-02 17:01:01

PHP隨機數rand()

2009-12-08 12:58:33

PHP隨機數類
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 新疆少妇videos高潮 | 成人免费看黄 | 夜色www国产精品资源站 | 日本中文字幕一区 | 久久99蜜桃综合影院免费观看 | 亚洲精品免费在线 | 一区二区国产精品 | 日韩电影免费观看中文字幕 | 亚洲97 | 久久精品一区二区视频 | 成人免费黄视频 | 91文字幕巨乱亚洲香蕉 | 国产激情网站 | 国产在线a | 精品国产一区三区 | 亚洲第一福利网 | 色综合99 | 欧美精品在线视频 | 久久com| 99精品一区二区三区 | 欧美一级精品片在线看 | av中文在线| 欧美日韩不卡在线 | 毛片网站在线观看 | 欧美9999| 国产精品视频在线免费观看 | 免费国产视频 | 日日夜夜视频 | 国产日韩一区二区三区 | 在线视频成人 | 中文字幕视频网 | 一区二区三区四区免费在线观看 | 成人三级视频 | 免费在线观看av片 | 欧美成人免费在线 | 91久久久久久 | 亚州av | 精区3d动漫一品二品精区 | 日本高清aⅴ毛片免费 | 欧美日韩一区二区三区四区五区 | 国产精品夜间视频香蕉 |