Java随机生成中文姓名工具
Posted 抓手
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java随机生成中文姓名工具相关的知识,希望对你有一定的参考价值。
import java.io.UnsupportedEncodingException;
import java.util.Random;
/**
* @author 向振华
* @date 2022/04/10 11:35
*/
public class RandomNameUtils
/**
* 随机获取姓名
*
* @return
*/
public static String fullName()
return surname() + name(2);
/**
* 随机获取姓
*
* @return
*/
public static String surname()
return SURNAME[new Random().nextInt(SURNAME.length - 1)];
/**
* 获取N位常用字
*
* @param len
* @return
*/
public static String name(int len)
StringBuilder ret = new StringBuilder();
for (int i = 0; i < len; i++)
String str = null;
// 定义高低位
int highPos, lowPos;
Random random = new Random();
//获取高位值
highPos = (176 + Math.abs(random.nextInt(39)));
//获取低位值
lowPos = (161 + Math.abs(random.nextInt(93)));
byte[] b = new byte[2];
b[0] = (new Integer(highPos).byteValue());
b[1] = (new Integer(lowPos).byteValue());
try
//转成中文
str = new String(b, "GBK");
catch (UnsupportedEncodingException ex)
ex.printStackTrace();
ret.append(str);
return ret.toString();
/**
* 2021年姓排行100
*/
private final static String[] SURNAME =
"李", "王", "张", "刘", "陈",
"杨", "赵", "黄", "周", "吴",
"徐", "孙", "胡", "朱", "高",
"林", "何", "郭", "马", "罗",
"梁", "宋", "郑", "谢", "韩",
"唐", "冯", "于", "董", "萧",
"程", "曹", "袁", "邓", "许",
"傅", "沈", "曾", "彭", "吕",
"苏", "卢", "蒋", "蔡", "贾",
"丁", "魏", "薛", "叶", "阎",
"余", "潘", "杜", "戴", "夏",
"钟", "汪", "田", "任", "姜",
"范", "方", "石", "姚", "谭",
"廖", "邹", "熊", "金", "陆",
"郝", "孔", "白", "崔", "康",
"毛", "邱", "秦", "江", "史",
"顾", "侯", "邵", "孟", "龙",
"万", "段", "漕", "钱", "汤",
"尹", "黎", "易", "常", "武",
"乔", "贺", "赖", "龚", "文";
以上是关于Java随机生成中文姓名工具的主要内容,如果未能解决你的问题,请参考以下文章
随机数生成工具类(中文姓名,性别,Email,手机号,住址)