package com.yc.spring.util;import java.util.Random;public class NameBuilder {private static String xings = "赵 钱 孙 李 周 吴 郑 王 冯 陈 褚 卫 " + "蒋 沈 韩 杨 朱 秦 尤 许 何 吕 施 张 " + "孔 曹 严 华 金 魏 陶 姜 戚 谢 邹 喻 "+ "柏 水 窦 章 云 苏 潘 葛 奚 范 彭 郎 " + "万俟 司马 上官 欧阳 夏侯 诸葛 闻人 东方 赫连 皇甫 尉迟 公羊";private static String mings = "碧凡、夏菡、曼香、若烟、半梦、雅绿、冰蓝、灵槐、平安、书翠、翠风、香巧、代云、" + "友巧、听寒、梦柏、醉易、访旋、亦玉、凌萱、访卉、怀亦、笑蓝、春翠、靖柏、书雪、"+ "乐枫、念薇、靖雁、寻春、恨山、从寒、忆香、觅波、静曼、凡旋、新波、代真、新蕾、" + "雁玉、冷卉、紫山、千琴、恨天、傲芙、盼山、怀蝶、冰兰、问旋、从南、白易、问筠、"+ "如霜、半芹、寒雁、怜云、寻文、谷雪、乐萱、涵菡、海莲、傲蕾、青槐、冬儿、易梦、" + "惜雪、宛海、之柔、夏青";private static Random r = new Random();/*** 使用指定的姓氏,用xings里面的字,随机生成姓名* @param xing        指定姓氏* @param length    指定名字总长度* @return*/public static String build(String xing, int length) {// 定义姓名String xingming = xing;//创建随机对象Random r = new Random();while (xingming.length() < length) {// 从名字符串中随机取出一个字符的编号int index = r.nextInt(mings.length());// 从名字字符串中取一个字String s = mings.substring(index, index + 1);// 如果s是顿号,就重新再取一次(使用常量比变量,这是推荐的方式)if ("、".equals(s)) {continue;} else {//将名 加到 姓名中取xingming += s;}}return xingming;}/*** 使用xings里面姓氏,用xings里面的字,随机生成姓名* @param length 指定名字总长度* @return*/public static String build(int length) {// 判断姓名的长度必须大于 2if (length < 2) {System.out.println("姓名不能少于2个字符");return null;}/*** 因为有些姓氏不能拆分(如:复姓),因此选姓氏不能像选名字那样一个一个字选* 因此要将xings转成数组*/// 先随机选姓氏Random r = new Random();String[] xingArr = xings.split(" ");int index = r.nextInt(xingArr.length);String xing = xingArr[index];// 有了姓氏,再调用上面的选名字的方法,就OK了return build(xing, length);}/*** 随机生成2~3个字的名字* @return*/public static String build() {int length = r.nextInt(2) + 2;return build(length);}public static void main(String[] args) {System.out.println("\r\n指定姓氏造100个3个字的名字");for (int i = 0; i < 100; i++) {System.out.print(build("廖", 3) + ",");if ((i + 1) % 10 == 0) {System.out.println();}}System.out.println("\r\n不指定姓氏造100个3个字的名字");for (int i = 0; i < 100; i++) {System.out.print(build(3) + ",");if ((i + 1) % 10 == 0) {System.out.println();}}System.out.println("\r\n随机造100个名2~3个字的字");for (int i = 0; i < 100; i++) {System.out.print(build() + "\t");if ((i + 1) % 10 == 0) {System.out.println();}}}
}

java随机生成中文姓名相关推荐

  1. Java随机生成中文姓名+手机+邮编+地址

    import java.util.HashMap; import java.util.Map; /** * 随机生成中文姓名,性别,Email,手机号,住址 * @author X-rapido */ ...

  2. java随机生成中文昵称_使用java随机生成中文姓名

    将字符串形式的名字转换为数组形式 private static String names= "碧凡.夏菡.曼香.若烟.半梦.雅绿.冰蓝.灵槐.平安.书翠.翠风.香巧.代云." + ...

  3. 使用java随机生成中文姓名

    将字符串形式的名字转换为数组形式 private static String names= "碧凡.夏菡.曼香.若烟.半梦.雅绿.冰蓝.灵槐.平安.书翠.翠风.香巧.代云." + ...

  4. Java开源 之随机生成中文姓名,手机号,邮编,住址

    import java.util.HashMap; import java.util.Map;/*** 随机生成中文姓名,性别,Email,手机号,住址*/ public class RandomVa ...

  5. 用java随机生成中文名字(百家姓/常用名/随机生成汉字)

    package com.de.util;import org.apache.commons.collections.CollectionUtils; import org.apache.commons ...

  6. java随机生成中文昵称_Java 中文姓名随机生成

    项目要求产生一些模拟的中文姓名,我的想法是先产生姓氏,再随机产生名字,可以是两个字的也可以是三个字的.使用的是 GB2312实现的中文字,可自行百度"信息交换用汉字编码字符集"了解 ...

  7. mysql随机生成中文姓名_mysql 随机生成姓名函数,及模拟大量测试数据

    如下图所示,函数rand_name,过程insert_user: -- 开启允许创建函数 set global log_bin_trust_function_creators = 1; -- 创建随机 ...

  8. java 随机生成简单中文_用java语言实现随机生成中文姓名

    中文字符一般使用的编码格式为"GB2312",那么gb2312到底是什么,简单介绍一下(参考百度百科) GB2312 一般指信息交换用汉字编码字符集. <信息交换用汉字编码字 ...

  9. java 姓名_java 随机生成中文姓名人名

    public static void main(String[] args) { for(int i=0;i<50;i++){ System.out.println(generateName() ...

最新文章

  1. Linux redhat 5.4上安装MYDNS
  2. 用yacc编写的算术运算计算器_详细的mac计算器操作技巧+快捷键分享
  3. sqlite字段是否存在_学习廖雪峰的JAVA教程---反射(访问字段)
  4. 微信小程序退出页面时清除定时器
  5. 关于问题 SAP ABAP ME2O 事物码如何(是否可以)打印发货单?如何自己找到答案
  6. 400. 第 N 位数字
  7. Python 爬虫性能相关总结
  8. 将ping命令结果输出到文本
  9. 客户端控件Javascript验证类
  10. java对象地址连续_Java面向对象中地址的理解(长期修改)
  11. Linux创建文本文件【Ubuntu】
  12. 黑苹果固态硬盘_普通电脑也能尝试:MacOS黑苹果+雷电3硬盘盒测试
  13. PID控制(三)(位置式和增量式PID)
  14. Android 实现最新QQ登陆页面
  15. msp430发送pwm信号_MSP430F149学习之路——PWM信号
  16. soul网关mysql8_Dubbo学习系列之十七(微服务Soul网关)
  17. java就是我的幸福,关于幸福的句子经典
  18. java qq邮箱登录_SpringBoot实现QQ邮箱注册和登录
  19. Linux-Logs 查看日志文件
  20. 禁用Chrome跟随系统的DPI缩放

热门文章

  1. MQ消息队列的重复消费问题的通用解决办法以及幂等性的原理
  2. iOS直播:LFLiveKit + RTMP实现直播推流
  3. MFC中AfxMessageBox显示变量
  4. 笔记本一般多少瓦?大概多少小时用一度电?
  5. 利用InceptionV3实现图像分类
  6. SDL2的学习之路<一> 创建基本窗口
  7. HuaWei Atlas200 DK交叉编译踩坑记录
  8. 知识图谱构建和应用实践
  9. html清空计时器,js设置定时器和清除定时器
  10. CAD文件怎么转换成图片?教你简单方法