一、定义实体类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. java生成随机数组_JAVA生成随机数组10个数字并求和

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

  3. python输出姓名_Python生成随机不重复姓名昵称

    姓采用百家姓,名字从常用名字高频字选取两个汉字,再和当前时间戳组合,估计应该是不会重复了,代码如下: # -*- coding:utf-8 -*- import random import time ...

  4. 【Java】基于JSON-Schema生成随机JSON的解决方案

    一.需求 1.给出特定格式json-schema,生成随机json串 2.json串,目录结构按json-schema定义 3.使用java开发语言 4.不需要提供页面,能输出随机json串即可(控制 ...

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

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

  6. js 生成随机字符串,生成随机机器码

    一.生成随机字符串. //生成随机字符串 function randomString(len) {len = len || 32;var $chars = 'ABCDEFGHJKMNPQRSTWXYZ ...

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

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

  8. java 日期随机数_Java 生成指定时间范围的随机时间、随机中文姓名、随机字符姓名、随机数...

    解决问题: Java生成指定时间范围的随机时间? Java生成随机中文姓名? Java生成随机字符姓名? Java生成随机数? 代码: import java.io.UnsupportedEncodi ...

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

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

最新文章

  1. 两款扁平步进电机及其驱动器VSMD102
  2. gateway java_基于SpringCloudGateway 实现的网关
  3. Linux 重新挂载分区的方法
  4. QML基础类型之quaternion
  5. SpringMVC 的执行流程
  6. Python3之socket编程(TCP/UDP,粘包问题,数据传输、文件上传)
  7. 检测浏览器是否支持ajax ===小代码
  8. Redis的安装和使用之二------phpredis与phpRedisAdmin
  9. 不允许有匹配 [xX][mM][lL] 的处理指令目标
  10. win10计算机扫描,Win10系统下如何使用扫描仪
  11. 数据可视化之美—BI
  12. 如何提取Excel中部分内容?
  13. Frida Hook Android App 进阶用法之 Java 运行时
  14. linux c open flush,ctrl+c以及写操作失败和flush
  15. Android如何打开未安装的apk,android获取未安装的APK文件的信息
  16. 人工智能在游戏领域的应用
  17. 华为鸿蒙系统与麒麟系统,搭载鸿蒙系统,麒麟9000处理器
  18. Android手机拨打电话、手动发送短信与自动拨打电话、自动发送短信(代码很简单哦)
  19. 在win7系统中用U盘安装Ubuntu16.04
  20. ISO 刻录软件 (可替代Nero 刻录软件的映像刻录功能)

热门文章

  1. vaadin_5分钟内Google App Engine上的Vaadin App
  2. jmeter 生成计数器_使用密码摘要生成器扩展JMeter
  3. 使用Flyway在Java EE中进行数据库迁移
  4. 嵌套类型的前5个用例
  5. 内存不足:杀死进程或牺牲孩子
  6. 如何使用Play框架为https配置SSL证书
  7. 使用序列化查找对象中的脏字段
  8. 使用CSS设置JavaFX饼图样式
  9. 用Java弹出创建新的消息通知
  10. 在独立Java应用程序中使用Tomcat JDBC连接池