1-VI--随机数据生成

mac2022-06-30  116

[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.欢迎关注我的微信公众号,最新精彩文章,及时送达:
公众号.jpg

转载于:https://www.cnblogs.com/toly-top/p/9781932.html

相关资源:数据结构(C )有关练习题
最新回复(0)