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) + " ");
    //    }
    //}
}

 

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