<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 33,  comments - 17,  trackbacks - 0
     1import java.util.Arrays;
     2import java.util.Random;
     3
     4/**
     5 * <code>RandomUtil</code> - Random Tool Class.
     6 * @author SageZk
     7 * @version 1.0
     8 */

     9public class RandomUtil {
    10
    11    private RandomUtil() {}
    12
    13    private static Random rnd = null;
    14
    15    /**
    16     * 初始化隨機數發(fā)生器。
    17     */

    18    private static void initRnd() {
    19        if (rnd == null) rnd = new Random();
    20    }

    21
    22    /**
    23     * 計算并返回無重復值的以 <code>min</code> 為下限 <code>max</code> 為上限的隨機整數數組。
    24     * @param min 隨機整數下限(包含)
    25     * @param max 隨機整數上限(包含)
    26     * @param len 結果數組長度
    27     * @return 結果數組
    28     */

    29    public static int[] getLotteryArray(int min, int max, int len) {
    30        //參數校驗及性能優(yōu)化
    31        if (len < 0return null;  //長度小于 0 的數組不存在
    32        if (len == 0return new int[0];  //返回長度為 0 的數組
    33        if (min > max) {  //校正參數 min max
    34            int t = min;
    35            min = max;
    36            max = t;
    37        }

    38        final int LEN = max - min + 1;  //種子個數
    39        if (len > LEN) return null;  //如果出現(xiàn) 35 選 36 的情況就返回 null
    40        //計算無重復值隨機數組
    41        initRnd();  //初始化隨機數發(fā)生器
    42        int[] seed = new int[LEN];  //種子數組
    43        for (int i = 0, n = min; i < LEN;) seed[i++= n++;  //初始化種子數組
    44        for (int i = 0, j = 0, t = 0; i < len; ++i) {
    45            j = rnd.nextInt(LEN - i) + i;
    46            t = seed[i];
    47            seed[i] = seed[j];
    48            seed[j] = t;
    49        }

    50        return Arrays.copyOf(seed, len);  //注意:copyOf 需要 JRE1.6
    51    }

    52
    53    //Unit Testing
    54    public static void main(String[] args) {
    55        final int N = 10000;  //測試次數
    56        for (int i = 0; i < N; ++i) {
    57            int[] la = RandomUtil.getLotteryArray(1357);
    58            if (la == nullcontinue;
    59            for (int v : la) System.out.printf("%0$02d ", v);
    60            System.out.println();
    61        }

    62    }

    63
    64}
    posted on 2008-07-23 17:53 scea2009 閱讀(260) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網站導航:
     

    <2008年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    PL/SQL存儲過程與函數

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 牛牛在线精品观看免费正| 羞羞视频免费网站日本| 亚洲午夜无码久久| 精品亚洲视频在线| 人妻无码久久一区二区三区免费| 中文字幕不卡亚洲 | 亚洲最大成人网色| 久操视频在线免费观看| 免费看小12萝裸体视频国产 | 一级一级一片免费高清| 综合在线免费视频| 国精无码欧精品亚洲一区| 国产麻豆一精品一AV一免费| 日韩精品无码人妻免费视频| 日韩亚洲AV无码一区二区不卡 | 亚洲日韩精品无码AV海量| 日韩精品免费电影| 国产精品偷伦视频免费观看了| 午夜免费不卡毛片完整版| 亚洲精品乱码久久久久久蜜桃图片 | 亚洲国产电影在线观看| 成人免费福利电影| 乱爱性全过程免费视频| 亚洲国产精品久久久久婷婷软件| 精品国产亚洲一区二区三区在线观看| 亚洲日韩国产成网在线观看| 国产在线观看免费视频软件| 亚洲欧洲日产专区| 99视频精品全部免费观看| 中文字幕亚洲综合小综合在线| 亚洲AV中文无码乱人伦在线视色| 国产一区二区三区免费观看在线| 亚洲国产成人精品久久| 亚洲成a人片在线观看老师| 亚洲免费在线视频| 亚洲AV无码成人精品区狼人影院| 国产亚洲精品自在久久| 中国在线观看免费国语版| 一个人免费观看日本www视频| 亚洲嫩草影院在线观看| 亚洲国产成人乱码精品女人久久久不卡|