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 = {
            "李", "王", "张", "刘", "陈",
            "杨", "赵", "黄", "周", "吴",
            "徐", "孙", "胡", "朱", "高",
            "林", "何", "郭", "马", "罗",
            "梁", "宋", "郑", "谢", "韩",
            "唐", "冯", "于", "董", "萧",
            "程", "曹", "袁", "邓", "许",
            "傅", "沈", "曾", "彭", "吕",
            "苏", "卢", "蒋", "蔡", "贾",
            "丁", "魏", "薛", "叶", "阎",
            "余", "潘", "杜", "戴", "夏",
            "钟", "汪", "田", "任", "姜",
            "范", "方", "石", "姚", "谭",
            "廖", "邹", "熊", "金", "陆",
            "郝", "孔", "白", "崔", "康",
            "毛", "邱", "秦", "江", "史",
            "顾", "侯", "邵", "孟", "龙",
            "万", "段", "漕", "钱", "汤",
            "尹", "黎", "易", "常", "武",
            "乔", "贺", "赖", "龚", "文"};
}

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值