成人免费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

2019-09-11 10:09:00

Java虛擬機算法

2010-10-25 16:29:45

Oracle隨機數產生

2011-05-24 17:08:57

rand()srand()

2023-01-03 07:49:45

Java隨機數線程

2010-10-09 15:35:25

MySQL rand函

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函數

2009-12-02 17:01:01

PHP隨機數rand()

2009-12-08 12:58:33

PHP隨機數類

2015-10-13 10:00:58

Swift隨機數使用總結

2021-12-27 09:31:20

HashtableJava隨機數
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品国产一区二区电影 | 欧美黄色网 | 九一在线观看 | 国产中文字幕在线 | 国产精品永久 | 蜜桃五月天 | 国产在线小视频 | 中文字幕国产精品视频 | 欧美成人aaa级毛片在线视频 | 久久日韩精品一区二区三区 | 亚洲视频区| 国产免费视频在线 | 一区二区三区亚洲精品国 | 免费看片国产 | 一区二区三区四区在线免费观看 | 国产羞羞视频在线观看 | 精品亚洲一区二区三区四区五区 | 国产目拍亚洲精品99久久精品 | 欧美成人免费在线 | 午夜精品在线 | 亚洲精选一区二区 | 夜夜草 | 亚洲欧美精| 亚洲成人久久久 | h片在线观看免费 | 超碰在线免费公开 | 成人免费视频一区 | 日日碰碰 | 国产免费一区二区三区最新6 | 狠狠干在线 | 中文字幕av在线一二三区 | 国产高清一区二区三区 | 精品一区视频 | 亚洲国产一区二区三区在线观看 | 成年人免费看 | 成人做爰www免费看视频网站 | 亚洲欧美综合精品久久成人 | 国产成人精品久久二区二区91 | 在线日韩视频 | 国产成人精品一区二 | 精品欧美乱码久久久久久 |