JAVA 隨機數據

 


1 隨機數字

public class RandomNumUtil {
    /**
     * 參生隨機數字 [start, end]
     */
    public static int getRandomNum(int start, int end) {
        return start + new Random().nextInt(end - start + 1);
    }

    /**
     * 參生隨機數字 [0, end]
     */
    public static int getRandomNum(int end) {
        return getRandomNum(0, end);
    }
    /**
     * 獲取隨機的一個bool值
     */
    public static boolean getRandomBoolean() {
        return new Random().nextBoolean();
    }
    /**
     * 隨機獲取數組裏面的一個值
     */
    public static Object getRandomValue(Object[] arr) {
        return arr[new Random().nextInt(arr.length)];
    }
    //@Test
    //public void test() {
    //    for (int i = 0; i < 20; i++) {
    //        System.out.println(getRandomNum(4));
    //    }
    //}
    //@Test
    //public void testBoolean() {
    //    for (int i = 0; i < 20; i++) {
    //        System.out.println(getRandomBoolean());
    //    }
    //}
    //@Test
    //public void testArray() {
    //    for (int i = 0; i < 20; i++) {
    //        Integer[] arr = {1, 3, 5, 7, 9};
    //        int value = (Integer) getRandomValue(arr);
    //        System.out.println(value);
    //    }
    //}
}

2 隨機中文姓名

【女:屠凝】【男:鄧仁博】【女:車茗詠】【女:蒼菲】【女:相芸婷】【女:勾婷】【男:姚貴弘】【男:田濤邦】【男:丘剛澤】【女:晉琬燕】【女:宰楓】【男:封超】【男:饒紹弘】【女:蒲豔】【男:昌棟】【男:桑楠】【男:袁謙功】【女:周蕊】【男:岑德時】【女:車舒春】【男:洪利】【女:丘雅】【男:戎輝樑】【男:茅致伯】【女:何勤毓】【女:孟桂】【男:駟思言】【男:江善】【男:殳福彪】【男:國平】【男:能言】【男:浦倫政】【男:後良】【女:益璧】【男:宮朗震】【男:祖壯】【女:薛娥】【女:車葉惠】【男:葛天澤】【女:芮夢】【男:董晨】【男:魚振平】【男:姚盛】【女:漆真羽】【女:呼媛璧】【女:牛靄】【女:宦環】【女:潘鳳】【女:逯蕊】【男:顓天】

/**
 * 隨機生成中文姓名
 */
public class RandomNameUtil {
    /**
     * 生成中文名稱
     *
     * @return Pair<String, String> 性別:姓名
     */
    public static Pair<String, String> getChineseName() {
        // 百家姓
        final String surname = "趙錢孫李周吳鄭王馮陳褚衛蔣沈韓楊朱秦尤許何呂施張孔曹嚴華金魏陶姜戚謝鄒喻柏水竇章雲蘇潘葛奚範彭郎魯韋昌馬苗鳳花方俞任袁柳酆鮑史唐費廉岑薛雷賀倪湯滕殷羅畢郝鄔安常樂於時傅皮卞齊康伍餘元卜顧孟平黃和穆蕭尹姚邵湛汪祁毛禹狄米貝明臧計伏成戴談宋茅龐熊紀舒屈項祝董樑杜阮藍閔席季麻強賈路婁危江童顏郭梅盛林刁鍾徐邱駱高夏蔡田樊胡凌霍虞萬支柯咎管盧莫經房裘繆幹解應宗宣丁賁鄧鬱單杭洪包諸左石崔吉鈕龔程嵇邢滑裴陸榮翁荀羊於惠甄魏加封芮羿儲靳汲邴糜鬆井段富巫烏焦巴弓牧隗山谷車侯宓蓬全郗班仰秋仲伊宮寧仇欒暴甘鈄厲戎祖武符劉姜詹束龍葉幸司韶郜黎薊薄印宿白懷蒲臺從鄂索鹹籍賴卓藺屠蒙池喬陰鬱胥能蒼雙聞莘黨翟譚貢勞逄姬申扶堵冉宰酈雍卻璩桑桂濮牛壽通邊扈燕冀郟浦尚農溫別莊晏柴瞿閻充慕連茹習宦艾魚容向古易慎戈廖庚終暨居衡步都耿滿弘匡國文寇廣祿闕東毆殳沃利蔚越夔隆師鞏厙聶晁勾敖融冷訾辛闞那簡饒空曾毋沙乜養鞠須豐巢關蒯相查後江紅遊竺權逯蓋益桓公万俟司馬上官歐陽夏侯諸葛聞人東方赫連皇甫尉遲公羊澹臺公冶宗政濮陽淳于仲孫太叔申屠公孫樂正軒轅令狐鍾離閭丘長孫慕容鮮于宇文司徒司空亓官司寇仉督子車顓孫端木巫馬公西漆雕樂正壤駟公良拓拔夾谷宰父谷粱晉楚閻法汝鄢塗欽段幹百里東郭南門呼延歸海羊舌微生嶽帥緱亢況後有琴樑丘左丘東門西門商牟佘佴伯賞南宮墨哈譙笪年愛陽佟";
        // 女生名
        final String girlName = "秀娟英華慧巧美娜靜淑惠珠翠雅芝玉萍紅娥玲芬芳燕彩春菊蘭鳳潔梅琳素雲蓮真環雪榮愛妹霞香月鶯媛豔瑞凡佳嘉瓊勤珍貞莉桂娣葉璧璐婭琦晶妍茜秋珊莎錦黛青倩婷姣婉嫺瑾穎露瑤怡嬋雁蓓紈儀荷丹蓉眉君琴蕊薇菁夢嵐苑婕馨瑗琰韻融園藝詠卿聰瀾純毓悅昭冰爽琬茗羽希寧欣飄育瀅馥筠柔竹靄凝曉歡霄楓芸菲寒伊亞宜可姬舒影荔枝思麗";
        // 男生名
        final String boyName = "偉剛勇毅俊峯強軍平保東文輝力明永健世廣志義興良海山仁波寧貴福生龍元全國勝學祥才發武新利清飛彬富順信子傑濤昌成康星光天達安巖中茂進林有堅和彪博誠先敬震振壯會思羣豪心邦承樂紹功鬆善厚慶磊民友裕河哲江超浩亮政謙亨奇固之輪翰朗伯宏言若鳴朋斌樑棟維啓克倫翔旭鵬澤晨辰士以建家致樹炎德行時泰盛雄琛鈞冠策騰楠榕風航弘";
        // 性別描述
        String nameSex;
        int index = getNum(surname.length() - 1);
        String first = surname.substring(index, index + 1);
        int sex = getNum(1);
        String str = boyName;
        int length = boyName.length();
        if (sex == 0) {
            str = girlName;
            length = girlName.length();
            nameSex = "女";
        } else {
            nameSex = "男";
        }
        index = getNum(length - 1);
        String second = str.substring(index, index + 1);
        int hasThird = getNum(1);
        String third = "";
        if (hasThird == 1) {
            index = getNum(length - 1);
            third = str.substring(index, index + 1);
        }
        return new Pair<>(nameSex, first + second + third);
    }
    /**
     * 產生隨機數 [0, end]
     */
    private static int getNum(int end) {
        return new Random().nextInt(end + 1);
    }
    //@Test
    //public void test() {
    //    for (int i = 0; i < 50; i++) {
    //        Pair<String, String> user = getChineseName();
    //        System.out.print("【" + user.getKey() + ":" + user.getValue() + "】");
    //    }
    //}
}

3 隨機電話號碼

13104277572 13201632164 13507516078 15203401016 13503904389 15607541552 15604673417 13308562147 15003535176 13604992811 15504656329 13101852226 13604827356 15902018881 15506442316 13606331968 13601676347 15300641609 15900782387 15101101965 13406762162 15706024320 15608744834 13402616799 13902840785 15200120223 13905052850 13205088103 15501447392 13105672221 15500522984 13502415408 15500832516 15604811249 15304606437 15200222038 13103630044 15301650962 13701915954 13508367566 13203140052 15205997563 15202855651 13608227825 15707731295 15906558362 15505830739 15007592978 15807428881 13803401317 

/**
 * 隨機生成手機號
 */
public class RandomPhoneUtil {
    /**
     * 返回手機號碼
     */
    private static final String[] TEL_FIRST = "134,135,136,137,138,139,150,151,152,157,158,159,130,131,132,155,156,133,153".split(",");
    /**
     * 獲取數字[start, start + end]
     */
    private static int getNum(int start, int end) {
        return start + new Random().nextInt(end + 1);
    }
    public static String getTel() {
        int index = getNum(0, TEL_FIRST.length - 1);
        String first = TEL_FIRST[index];
        String second = String.valueOf(getNum(1, 888) + 10000).substring(1);
        String third = String.valueOf(getNum(1, 9100) + 10000).substring(1);
        return first + second + third;
    }
    //@Test
    //public void test() {
    //    for (int i = 0; i < 50; i++) {
    //        System.out.print(getTel() + " ");
    //    }
    //}
}

4 隨機郵箱

[email protected]

/**
 * 隨機郵箱
 */
public class RandomEmailUtil {
    //郵箱後綴
    private static final String[] EMAIL_SUFFIX = "@gmail.com,@yahoo.com,@msn.com,@hotmail.com,@aol.com,@ask.com,@live.com,@qq.com,@0355.net,@163.com,@163.net,@263.net,@3721.net,@yeah.net,@googlemail.com,@126.com,@sina.com,@sohu.com,@yahoo.com.cn".split(",");
    /**
     * 返回數字 [start, end]
     */
    private static int getNum(int start, int end) {
        return start + new Random().nextInt(end - start + 1);
    }
    /**
     * 返回Email
     *
     * @param lMin 郵箱前綴 最小長度
     * @param lMax 郵箱前綴 最大長度
     */
    public static String getEmail(int lMin, int lMax) {
        int length = getNum(lMin, lMax);
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < length; i++) {
            String base = "abcdefghijklmnopqrstuvwxyz0123456789";
            int number = getNum(0, base.length() - 1);
            sb.append(base.charAt(number));
        }
        sb.append(EMAIL_SUFFIX[getNum(0, EMAIL_SUFFIX.length - 1)]);
        return sb.toString();
    }
    //@Test
    //public void test() {
    //    for (int i = 0; i < 50; i++) {
    //        System.out.print(getEmail(5, 10) + " ");
    //    }
    //}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章