zoukankan      html  css  js  c++  java
  • 1-VI--随机数据生成

    [1]在ListView篇之前,感觉有一点是需要提前准备的:数据
    [2]也许会说:测试数据,用for循环出来不就行了吗? 但不好看啊。。。。
    [3]为此打造一个随机数据的类

    1.范围随机整数:rangeInt(int s, int e)
        /**
         * 获取范围随机整数:如 rangeInt(1,9)
         *
         * @param s 前数(包括)
         * @param e 后数(包括)
         * @return 范围随机整数
         */
        public static int rangeInt(int s, int e) {
            int max = Math.max(s, e);
            int min = Math.min(s, e) - 1;
            return (int) (min + Math.ceil(Math.random() * (max - min)));
        }
    
    2.给定字符串数组,返回随机个数字符串拼接:rangeChar(int len, String[] chars)
        /**
         * 给定字符串数组,返回随机个数字符串拼接
         *
         * @param len   个数
         * @param chars 字符串数组
         * @return 随机个数字符串拼接
         */
        public static String rangeChar(int len, String[] chars) {
            if (len >= chars.length) {
                return "越界";
            }
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < len; i++) {
                sb.append(chars[rangeInt(0, chars.length - 1)]);
            }
            return sb.toString();
        }
    
    3.常量:
        /**
         * 小写字母集
         */
        public static String[] abc = new String[]{
                "a", "b", "c", "d", "e", "f", "g",
                "h", "i", "j", "k", "l", "m", "n",
                "o", "p", "q", "r", "s", "t", "u",
                "v", "w", "x", "y", "z"};
        /**
         * 大写字母集
         */
        public static String[] ABC = new String[]{
                "A", "B", "C", "D", "E", "F", "G",
                "H", "I", "J", "K", "L", "M", "N",
                "O", "P", "Q", "R", "S", "T", "U",
                "V", "W", "X", "Y", "Z"};
        /**
         * 部分常见姓氏
         */
        public static String[] XING = new String[]{
                "赵", "钱", "孙", "李", "周", "吴", "郑",
                "王", "冯", "程", "楚", "魏", "蒋", "沈",
                "韩", "杨", "欧阳", "诸葛", "九天", "司马",
                "公孙", "上官", "包", "郭", "范", "唐",
                "林", "孔", "解"};
    
        public static String[] MING = new String[]{
                "风", "花", "雪", "月", "雷", "电", "风",
                "霜", "星", "阳", "日", "天", "龙", "凤",
                "洪", "梦", "瑶", "茜", "玉", "富", "轩",
                "玉", "宝", "智", "峰", "贵", "城", "强", "德", "美"};
    
    4.获取随机英文名字:rangeEnName()
        /**
         * 获取随机英文名字
         *
         * @return 随机英文名字
         */
        public static String rangeEnName() {
            String firstName = StrUtil.upAChar(rangeChar(4, abc));
            String lastName = StrUtil.upAChar(rangeChar(6, abc));
            return firstName + " " + lastName;
        }
    
    5.将字符串仅首字母大写:StrUtil#upAChar
        /**
         * 将字符串仅首字母大写
         *
         * @param str 待处理字符串
         * @return 将字符串仅首字母大写
         */
        public static String upAChar(String str) {
            StringBuilder sb = new StringBuilder();
            String lastChars = str.substring(1);
            String firstChar = str.split("")[0].toUpperCase();
    
            sb.append(firstChar);
            sb.append(lastChars);
    
            return sb.toString();
        }
    
    6.获取随机中文名字:rangeCnName()
        /**
         * 获取随机中文名字
         * @return 随机中文名字
         */
        public static String rangeCnName() {
            StringBuilder sb = new StringBuilder();
    
            if (rangeInt(1, 2) == 1) {
                sb.append(rangeChar(1, XING));
                sb.append(rangeChar(1, MING));
            } else {
                sb.append(rangeChar(1, XING));
                sb.append(rangeChar(1, MING));
                sb.append(rangeChar(1, MING));
            }
    
            return sb.toString();
        }
    
    7.top.toly.zutils.core.test.DataUtils#getRandomName
        /**
         * 返回姓名集合
         * @param len 个数
         * @param cn 是否中文
         * @return 返回姓名集合
         */
        public static ArrayList<String> getRandomName(int len, boolean cn) {
    
            ArrayList<String> names = new ArrayList<>();
            for (int i = 0; i < len; i++) {
                names.add(cn ? ZRandom.rangeCnName() : ZRandom.rangeEnName());
            }
            return names;
        }
    
    8.使用
     ArrayList<String> names = DataUtils.getRandomName(10, true);
    
    9.效果:
    中文:程星、欧阳龙轩、王玉花、诸葛风、孔梦风、韩玉凤、杨洪日、九天风、魏玉、赵风霜
    英文:Orrq Akqkmq、Qidp Kucdtq、Gmxj Ltqshu、Lrbm Iprtnh、Wteu Guvenq、Dlpc Lkfxaj、
    Ahkj Yjprfb、Fane Wgrdug、Sxaq Hyxzad、Vupx Ldesah、Aomw Ucwbke
    

    后记、

    1.声明:

    [1]本文由张风捷特烈原创,转载请注明
    [2]欢迎广大编程爱好者共同交流
    [3]个人能力有限,如有不正之处欢迎大家批评指证,必定虚心改正
    [4]你的喜欢与支持将是我最大的动力

    2.连接传送门:

    更多安卓技术欢迎访问:安卓技术栈
    我的github地址:欢迎star
    简书首发,腾讯云+社区同步更新
    张风捷特烈个人网站,编程笔记请访问:http://www.toly1994.com

    3.联系我

    QQ:1981462002
    邮箱:1981462002@qq.com
    微信:zdl1994328

    4.欢迎关注我的微信公众号,最新精彩文章,及时送达:
    9414344-c474349cd3bd4b82.jpg
    公众号.jpg
  • 相关阅读:
    TeXLive安装过程
    js 如何获取class的元素 以及创建方法getElementsByClassName
    点击返回
    MVC框架实现文件的上传(支持多文件上传)
    团购倒计时抢购功能
    获取取当前页 地址分割字符串
    网页内容截取部分打印
    HttpFileCollection 实现多文件上传
    JS如何获取URL
    正则表达式 占位符 替换
  • 原文地址:https://www.cnblogs.com/toly-top/p/9781932.html
Copyright © 2011-2022 走看看