forget and forget

          能吃能睡是福;能忘是大福......

          posts - 39, comments - 26, trackbacks - 0, articles - 10
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          一個生成無重復(fù)數(shù)字的代碼

          Posted on 2006-01-12 10:29 橘子 閱讀(487) 評論(0)  編輯  收藏 所屬分類: 程序開發(fā)
           1import java.util.Random;
           2
           3public class Util{
           4 /**隨機(jī)對象*/
           5 private static Random rd = null;
           6 
           7 /**
           8  * 返回一個無重復(fù)的隨機(jī)數(shù)組
           9  * @param src 來源數(shù)組,所有的數(shù)據(jù)都來自該數(shù)組
          10  * @return 處理好的數(shù)組
          11  */

          12 public static int[] random(int[] src){
          13  //如果源數(shù)組為空,則返回
          14  if(src == null){
          15   return null
          16  }

          17  
          18  rd = new Random();
          19
          20  //創(chuàng)建返回數(shù)組
          21  int[] tmp = new int[src.length];
          22  //可供選擇的數(shù)據(jù)個數(shù)
          23  int num = src.length;
          24  
          25  //抽取到的數(shù)組的下標(biāo)
          26  int index;
          27  //隨機(jī)抽取,如果某個數(shù)字被抽取,則置該數(shù)字為0,并放到數(shù)組的末尾
          28  for(int i = 0;i < src.length;i++){
          29   //隨機(jī)生成下標(biāo)
          30   index = Math.abs(rd.nextInt()) % num;
          31   //取該值
          32   tmp[i] = src[index];
          33   //交換數(shù)據(jù)
          34   src[index] = src[num - 1];
          35   //可選擇數(shù)量減少1
          36   num--;
          37  }

          38  //返回
          39  return tmp;
          40 }

          41 
          42 public static void main(String[] args){
          43  int[] test = {1,2,3,4,5,6,7,8,9};
          44  int a[] = random(test);
          45  
          46  for(int i = 0;i < a.length;i++){
          47   System.out.println(a[i]); 
          48  }
           
          49 }

          50  
          51}
          主站蜘蛛池模板: 宁德市| 游戏| 天等县| 石棉县| 绥芬河市| 托里县| 安远县| 香港| 巴东县| 三原县| 图木舒克市| 泰州市| 和静县| 绥德县| 三门峡市| 舒兰市| 巴楚县| 宜章县| 肃北| 郯城县| 甘德县| 明水县| 龙川县| 南涧| 东海县| 通城县| 汾西县| 福安市| 瓮安县| 隆昌县| 吐鲁番市| 宁波市| 青田县| 长寿区| 衡南县| 洱源县| 双桥区| 邹城市| 桐庐县| 广宗县| 海原县|