一、定义实体类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. 基于springboot实现高校学生健康档案管理系统
  2. codis 部署和测试
  3. Redis设计与实现笔记
  4. css-演练-完成一个后台管理页面-不完整版
  5. 技术实践丨列存表并发更新时的锁等待问题原理
  6. A/D转换器(华中师范)
  7. vue实现增删改查功能
  8. 40多套 在线教育平台系统网站源码 知识付费源程序 网上教育
  9. 织梦采集插件-简单好用织梦采集插件
  10. 带你走进springboot
  11. 用p5.js绘制创意自画像
  12. win10蓝牙鼠标、耳机无法连接,无蓝牙开关标志解决方案
  13. RV1126笔记二十三:Nginx及cgi移植
  14. 手机网络邻居访问电脑_不是一个局域网手机怎么访问电脑
  15. [HTML]书签怎么做?
  16. 重放攻击(Replay Attacks)
  17. 图像处理的数学模型与高性能算法——介绍
  18. 走进MSTP -- 1. EOS业务
  19. 中毒后360安全卫士打不开的终极解决办法
  20. Oracle总结-学习这一篇就够了

热门文章

  1. 重点总结->浏览器面试灵魂50问(一)
  2. 简单的电子日历的设计与实现 web前端开发 css JavaScript HTML5
  3. Java将图片压缩质量后返回一个byte数组
  4. 商贸宝提示演示版的解决办法
  5. NX二次开发 截图、向excel表格中插入图片 UF_DISP_create_framed_image
  6. mysql 数据库集群搭建:(四)pacemaker管理三台maxscale集群,搭建mariadb读写分离中间层集群...
  7. The path to the driver executable must be set by the webdriver.edge.driver system property
  8. 精通matlab智能算法pdf下载 温正,精通MATLAB智能算法
  9. HuTool 工具类详细介绍(3)
  10. Android Studio中新增文件夹并新建Activity时,编译后提示“程序包R不存在”解决