一、定义实体类Person,封装生成的数据

package net.dc.test;public class Person {private String name;private String sex;private int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "Person{" +"name='" + name + '\'' +", sex='" + sex + '\'' +", age=" + age +'}';}
}

二、定义随机信息类RandInfo,生成随机数据

package net.dc.test;import java.util.Random;public class RandInfo {String familyName1 = "赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻水云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳鲍史唐费岑薛雷贺倪汤滕殷罗毕郝邬安常乐于时傅卞齐康伍余元卜顾孟平"+ "黄和穆萧尹姚邵湛汪祁毛禹狄米贝明臧计成戴宋茅庞熊纪舒屈项祝董粱杜阮席季麻强贾路娄危江童颜郭梅盛林刁钟徐邱骆高夏蔡田胡凌霍万柯卢莫房缪干解应宗丁宣邓郁单杭洪包诸左石崔吉"+ "龚程邢滑裴陆荣翁荀羊甄家封芮储靳邴松井富乌焦巴弓牧隗山谷车侯伊宁仇祖武符刘景詹束龙叶幸司韶黎乔苍双闻莘劳逄姬冉宰桂牛寿通边燕冀尚农温庄晏瞿茹习鱼容向古戈终居衡步都耿满弘国文东殴沃曾关红游盖益桓公晋楚闫";String familyName2 = "欧阳太史端木上官司马东方独孤南宫万俟闻人夏侯诸葛尉迟公羊赫连澹台皇甫宗政濮阳公冶太叔申屠公孙慕容仲孙钟离长孙宇文司徒鲜于司空闾丘子车亓官司寇巫马公西颛孙壤驷公良漆雕乐正宰父谷梁拓跋夹谷轩辕令狐段干百里呼延东郭南门羊舌微生公户公玉公仪梁丘公仲公上公门公山公坚左丘公伯西门公祖第五公乘贯丘公皙南荣东里东宫仲长子书子桑即墨达奚褚师吴铭";String girlName = "秀娟英华慧巧美娜静淑惠珠翠雅芝玉萍红娥玲芬芳燕彩春菊兰凤洁梅琳素云莲真环雪荣爱妹霞香月莺媛艳瑞凡佳嘉琼勤珍贞莉桂娣叶璧璐娅琦晶妍茜秋珊莎锦黛青倩婷姣婉娴瑾颖露瑶怡婵雁蓓纨仪荷丹蓉眉君琴蕊薇菁梦岚苑婕馨瑗琰韵融园艺咏卿聪澜纯毓悦昭冰爽琬茗羽希宁欣飘育滢馥筠柔竹霭凝晓欢霄枫芸菲寒伊亚宜可姬舒影荔枝思丽";String boyName = "伟刚勇毅俊峰强军平保东文辉力明永健世广志义兴良海山仁波宁贵福生龙元全国胜学祥才发武新利清飞彬富顺信子杰涛昌成康星光天达安岩中茂进林有坚和彪博诚先敬震振壮会思群豪心邦承乐绍功松善厚庆磊民友裕河哲江超浩亮政谦亨奇固之轮翰朗伯宏言若鸣朋斌梁栋维启克伦翔旭鹏泽晨辰士以建家致树炎德行时泰盛雄琛钧冠策腾楠榕风航弘";/*** 功能:随机产生姓氏** @return*/public String getFamilyName() {String str = "";int randNum = new Random().nextInt(2) + 1;int strLen = randNum == 1 ? familyName1.length() : familyName2.length();int index = new Random().nextInt(strLen);if (randNum == 1) {str = String.valueOf(familyName1.charAt(index));} else {str = (index & 1) == 0 ? familyName2.substring(index, index + 2) :familyName2.substring(index - 1, index + 1);}return str;}/*** 功能:随机产生性别** @return*/public String getSex() {int randNum = new Random().nextInt(2) + 1;return randNum == 1 ? "男" : "女";}/*** 功能:传入性别参数,依据性别产生名字** @param sex* @return*/public String[] getNameAndSex(String sex) {String[] nameSex = new String[2];int randNum = new Random().nextInt(2) + 1;int strLen = sex.equals("男") ? boyName.length() : girlName.length();int index = (randNum & 1) == 0 ? new Random().nextInt(strLen - 1) :new Random().nextInt(strLen);nameSex[0] = sex.equals("男") ? boyName.substring(index, index + randNum) :girlName.substring(index, index + randNum);nameSex[1] = sex.equals("男") ? "男" : "女";return nameSex;}/*** 功能:随机产生18-21的整数** @return*/public int getAge() {return new Random().nextInt(4) + 18;}
}

三、定义测试类TestRand,进行测试

package net.dc.test;public class TestRand {public static void main(String[] args) {RandInfo rand = new RandInfo();Person person = new Person();for (int i = 1;i <= 10; i++){String familyName = rand.getFamilyName();String[] nameAndSex = rand.getNameAndSex(rand.getSex());String name = nameAndSex[0];String sex = nameAndSex[1];int age = rand.getAge();person.setName(familyName.concat(name));person.setSex(sex);person.setAge(age);System.out.println(person);}}
}

测试结果:

Java生成随机姓名、性别和年龄相关推荐

  1. java随机姓名_Java生成随机姓名、性别和年龄的实现示例

    一.定义实体类Person,封装生成的数据 package net.dc.test; public class Person { private String name; private String ...

  2. java 姓名_Java生成随机姓名、性别和年龄的实现示例

    一.定义实体类Person,封装生成的数据 package net.dc.test; public class Person { private String name; private String ...

  3. Java生成随机数字和字母组合10位数

    /**               * java生成随机数字和字母组合10位数               * @param length[生成随机数的长度]               * @ret ...

  4. Java生成随机邀请码

    Java生成随机10位不重复邀请码 public static void main(String[] args) {for (int i = 0; i < 10; i++) {System.ou ...

  5. Java 生成随机昵称(形容词加名词)

    Java 生成随机昵称 今天写了个使用java生成随机可爱昵称的代码,就是使用形容词拼接名词. package com.haier.util;import java.util.Random;publi ...

  6. java生成随机时间_Java生成某段时间内的随机时间

    上代码: import java.text.SimpleDateFormat; import java.util.Date; public class DateUtil { /** * 生成随机时间 ...

  7. java生成随机数组_JAVA生成随机数组10个数字并求和

    JAVA生成随机数组10个数字并求和 本文最终结果大概是这样的',使用java技术随机生成10个数,然后填充一个数组并在消息框中显示数组内容,接着对数组求和输出,将结果显示在消息框中. 设计思路:可以 ...

  8. Java 生成随机订单号

    Java 生成随机订单号 /** 根据时间生成随机订单号 */ public class GenerateNum { // 全局自增数 private static int count = 0; // ...

  9. 接口自动化-接口请求数据准备-如何生成随机姓名、年龄、号码、email等

    在做接口自动化测试的时候,经常需要一些随机的测试数据,这里提供一个个人使用的生成随机值的工具类,主要内容都已在代码中注释: package com.gvbrain.appApi.Utils;impor ...

最新文章

  1. 怎么自学python编程-怎么能学习好python编程?有自学的方法吗?
  2. Javascript Prototypes之旅(A Plain English Guide to JavaScript Prototypes译文)
  3. PHP面试题:请写出常见的排序算法,并用PHP实现冒泡排序,将数组$a = array()按照从小到大的方式进行排序。
  4. ie 9 渐变背景色兼容问题
  5. 第32讲:实时处理利器 mitmproxy 的使用
  6. Exception in thread main java.lang.RuntimeException: org.apache.hadoop.security.AccessControlExcep
  7. java 区块链开发_Java开发人员的区块链入门
  8. PytorchRuntimeError: inconsistent tensor sizes at /pytorch/torch/lib/TH/generic/THTensorMath.c:2709
  9. mysql如何安装sys,linux下如何安装新版的mysql
  10. 查看AIX系统cpu、内存、网卡、硬盘、HBA卡信息命令
  11. error LNK2005: DllMain 已经在MSVCRT.lib中定义
  12. 如何配置Modbus读写器
  13. 拼音模糊查询+java,jquery拼音模糊查询
  14. Xcode5帮助文档!
  15. 出栈顺序判断问题——划线法
  16. 计算机软件实习每日学习打卡(6)20201227
  17. 【TWVRP】粒子群算法求解带时间窗的车辆路径规划问题【含Matlab源码 334期】
  18. 为什么不建议使用免费的IP代理?
  19. 商城-下单-订单结算页
  20. 文档服务器备份策略,云服务器备份备份策略管理

热门文章

  1. 连接物理和数字世界,以数据驱动企业持续增长
  2. Thinphp集成抖音SDK
  3. 非常经典的飞行射击类游戏飞离神庙源码
  4. org.hibernate.TypeMismatchException: Provided id of the wrong type for class cn.itheima.domain.Custo
  5. 智慧工业能耗管理系统方案
  6. linux同步到云盘,Linux命令行上传文件到百度网盘
  7. 加油机程序C语言,不要认为简单!!要多少架飞机?怎样写程序?哪位高手能把程序写出来?...
  8. Nor Flash的分析与操作
  9. Rokoko for Maya
  10. 电池供电微低功耗智慧摄像头直读式无线拍照抄表器技术方案