一、定义实体类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;

}

@Override

public String toString() {

return "Person{" +

"name='" + name + '\'' +

", sex='" + sex + '\'' +

", age=" + age +

'}';

}

}

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

package net.dc.test;

import java.util.Random;

public class RandInfo {

String familyName = "赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜戚谢邹喻水云苏潘葛奚范彭郎鲁韦昌马苗凤花方俞任袁柳鲍史唐费岑薛雷贺倪汤滕殷罗毕郝邬安常乐于时傅卞齐康伍余元卜顾孟平"

+ "黄和穆萧尹姚邵湛汪祁毛禹狄米贝明臧计成戴宋茅庞熊纪舒屈项祝董粱杜阮席季麻强贾路娄危江童颜郭梅盛林刁钟徐邱骆高夏蔡田胡凌霍万柯卢莫房缪干解应宗丁宣邓郁单杭洪包诸左石崔吉"

+ "龚程邢滑裴陆荣翁荀羊甄家封芮储靳邴松井富乌焦巴弓牧隗山谷车侯伊宁仇祖武符刘景詹束龙叶幸司韶黎乔苍双闻莘劳逄姬冉宰桂牛寿通边燕冀尚农温庄晏瞿茹习鱼容向古戈终居衡步都耿满弘国文东殴沃曾关红游盖益桓公晋楚闫";

String firstName2 = "欧阳太史端木上官司马东方独孤南宫万俟闻人夏侯诸葛尉迟公羊赫连澹台皇甫宗政濮阳公冶太叔申屠公孙慕容仲孙钟离长孙宇文司徒鲜于司空闾丘子车亓官司寇巫马公西颛孙壤驷公良漆雕乐正宰父谷梁拓跋夹谷轩辕令狐段干百里呼延东郭南门羊舌微生公户公玉公仪梁丘公仲公上公门公山公坚左丘公伯西门公祖第五公乘贯丘公皙南荣东里东宫仲长子书子桑即墨达奚褚师吴铭";

String girlName = "秀娟英华慧巧美娜静淑惠珠翠雅芝玉萍红娥玲芬芳燕彩春菊兰凤洁梅琳素云莲真环雪荣爱妹霞香月莺媛艳瑞凡佳嘉琼勤珍贞莉桂娣叶璧璐娅琦晶妍茜秋珊莎锦黛青倩婷姣婉娴瑾颖露瑶怡婵雁蓓纨仪荷丹蓉眉君琴蕊薇菁梦岚苑婕馨瑗琰韵融园艺咏卿聪澜纯毓悦昭冰爽琬茗羽希宁欣飘育滢馥筠柔竹霭凝晓欢霄枫芸菲寒伊亚宜可姬舒影荔枝思丽";

String boyName = "伟刚勇毅俊峰强军平保东文辉力明永健世广志义兴良海山仁波宁贵福生龙元全国胜学祥才发武新利清飞彬富顺信子杰涛昌成康星光天达安岩中茂进林有坚和彪博诚先敬震振壮会思群豪心邦承乐绍功松善厚庆磊民友裕河哲江超浩亮政谦亨奇固之轮翰朗伯宏言若鸣朋斌梁栋维启克伦翔旭鹏泽晨辰士以建家致树炎德行时泰盛雄琛钧冠策腾楠榕风航弘";

public String randFamilyName() {

String str = "";

int strLen;

int randNum = new Random().nextInt(2) + 1;

int index;

if (randNum == 1) {

strLen = familyName.length();

index = new Random().nextInt(strLen);

str = String.valueOf(familyName.charAt(index));

} else {

strLen = firstName2.length();

index = new Random().nextInt(strLen);

if (index % 2 == 0) {

str = firstName2.substring(index, index + 2);

} else {

str = firstName2.substring(index - 1, index + 1);

}

}

return str;

}

public String randSex() {

int randNum = new Random().nextInt(2) + 1;

return randNum == 1 ? "男" : "女";

}

public String randName(String sex) {

String name = "";

int randNum = new Random().nextInt(2) + 1;

int index;

if (sex.equals("男")) {

int strLen = boyName.length();

if (randNum % 2 == 0) {

index = new Random().nextInt(strLen - 1);

name = boyName.substring(index, index + randNum).concat("-男");

} else {

index = new Random().nextInt(strLen);

name = boyName.substring(index, index + randNum).concat("-男");

}

} else {

int strLen = girlName.length();

if (randNum % 2 == 0) {

index = new Random().nextInt(strLen - 1);

name = girlName.substring(index, index + randNum).concat("-女");

} else {

index = new Random().nextInt(strLen);

name = girlName.substring(index, index + randNum).concat("-女");

}

}

return name;

}

public int randAge() {

return new Random().nextInt(4) + 18;

}

}

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

package net.dc.test;

public class TestRand {

public static void main(String[] args) {

Person person = new Person();

RandInfo randInfo = new RandInfo();

for (int i = 0; i < 10; i++) {

// 姓氏随机生成

String familyName = randInfo.randFamilyName();

// 名字依托于性别产生

String randName = randInfo.randName(randInfo.randSex());

String[] fixed = randName.split("-");

String name = fixed[0];

String sex = fixed[1];

int age = randInfo.randAge();

person.setName(familyName.concat(name));

person.setSex(sex);

person.setAge(age);

System.out.println(person);

}

}

}

测试结果:

到此这篇关于Java生成随机姓名、性别和年龄的实现示例的文章就介绍到这了,更多相关Java生成随机姓名、性别和年龄内容请搜索聚米学院以前的文章或继续浏览下面的相关文章希望大家以后多多支持聚米学院!

java 姓名_Java生成随机姓名、性别和年龄的实现示例相关推荐

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

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

  2. 题10.9:有一磁盘文件employee,内存放职工的数据。每个职工的数据包括职工姓名、职工号、性别、年龄、住址、工资、健康状况、文化程度。今要求将职工名、工资的信息单独抽出来另建一个简明的职工工资文

    题目 本题是谭浩强<C程序设计课后习题>题10.9. 题目: 有一磁盘文件employee,内存放职工的数据.每个职工的数据包括职工姓名.职工号.性别.年龄.住址.工资.健康状况.文化程度 ...

  3. 9.有一磁盘文件employee,内存放职工的数据。每个职工的数据包括职工姓名、职工号、性别、年龄、住址、工资、健康状况、文化程度。今要求将职工名、工资的信息单独抽出来另建一个简明的职工工资文件。

    9.有一磁盘文件employee,内存放职工的数据.每个职工的数据包括职工姓名.职工号.性别.年龄.住址.工资.健康状况.文化程度.今要求将职工名.工资的信息单独抽出来另建一个简明的职工工资文件. # ...

  4. Java生成随机姓名、性别和年龄

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

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

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

  6. java 随机生成大写字母_java 生成随机大写字母,整数,小写字母

    java 个人学习碰到的一些关于随机数的问题 整合在此供大家参考 /** * 生成随机大小写字母 * @author: lyq * @date: May 16, 2014 3:26:13 PM */ ...

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

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

  8. java生成字符串数组_Java 生成随机字符串数组的实例详解

    Java 生成随机字符串数组的实例详解 利用Collections.sort()方法对泛型为String的List 进行排序.具体要求: 1.创建完List之后,往其中添加十条随机字符串 2.每条字符 ...

  9. oracle 生成随机姓名_Oracle生成随机码

    本人网站交友乐www.jyoule.com 需要经常生成随机的活动码,用于制作卡片密码或通过网络发送.活动码的生成规则是采用唯一的字符串开头后面是随机数字,比如AZ00001.使用程序生成活动码速度较 ...

最新文章

  1. autoware使用激光雷达进行目标检测(五)
  2. python变量类型-Python 变量类型详解
  3. 实时通信RTC技术栈之:视频编解码
  4. Python到底有多实用?这些功能你需要了解
  5. 推荐Web前端初学者应该知道的书籍和网站
  6. C语言的指针函数与函数指针
  7. python语言的类型是_Python语言类型
  8. 已经windows如何在安装linux,如何在已经安装linux情况下安装windows
  9. 【FZU - 2039】Pets(二分图匹配,水题)
  10. Google和百度 翻译对比
  11. 02331 数据结构 二叉树的遍历
  12. react文字滚动插件_【赠书】Preact(React)核心原理详解
  13. CUDA初探—环境配置
  14. 无痕埋点(声明式)(原创)
  15. flash位图技术研究篇(3):移动缓冲区域
  16. win7万能声卡驱动_黑苹果AppleALC声卡驱动教程详解
  17. java反射为什么消耗资源_Java反射笔记
  18. 踩坑记录丨记Jekyll + Github Pages搭建个人博客时遇到的各种问题
  19. Java高并发程序设计入门
  20. ibatis入门教程

热门文章

  1. 期权和期货的定义及区别
  2. 【机器学习】如何理解vias和bias?
  3. PV操作经典例题——哲学家进餐问题
  4. matlab中size函数使用
  5. Excel表格的密码设置与取消
  6. html怎么修改td 的宽度,互联网常识:htmltd怎么设置宽度
  7. python截取图片中的圆形区域
  8. Jetson AGX Orin 平台关于c240000 I2C总线和GMSL ses地址冲突问题
  9. oracle中计算两个日期之间的差值
  10. 计算机视觉领域推荐期刊和会议评分标准