Java 生成随机中文、英文姓名(下)

基本介绍

一个生成随机中英文姓名的 java 小项目,已打包jar(未混淆)。

这个 jar 使用 json 的方式存取姓名资源,json 文件放在jar包之中。

项目依赖于Json-Java解析json。

点击下载

效果预览:

这里写图片描述

源码地址:https://gitee.com/mingyueyixi/RandomName/tree/master/J-SimpleName

其他说明

代码

JRandomNameTool.java:

package com.lu.jsn;
import com.lu.jsn.en.JEnglishNameUtil;
import com.lu.jsn.zh.JSimpleZhNameUtil;

public class JRandomNameTool {

    /**
     * @return 名字
     */
    public static String getSimpleName(Language language) {
        JNameUtilI jRandomNameI = null;
        switch (language) {
        case en:
            jRandomNameI = JEnglishNameUtil.prepare();
            break;
        case zh:
            jRandomNameI = JSimpleZhNameUtil.prepare();
            break;
        default:
            jRandomNameI = JEnglishNameUtil.prepare();
            break;
        }
        return jRandomNameI.getSimpleFullName();
    }   
    /**
     * @return 名字
     */
    public static String getSimpleName() {
        int r = (int)(Math.random()*Language.values().length);      
        return getSimpleName(Language.values()[r]);
    }
    public static void clean() {
        JEnglishNameUtil.clean();
        JSimpleZhNameUtil.clean();
    }

}

使用和测试:

package com.lu.jsn;

import org.junit.Test;

public class JRandomNameToolTest {

    @Test
    public void test() {
        System.out.println("---------------随机多语言姓名---------------");
        for(int i=0;i<50;i++) {         
            System.out.println(JRandomNameTool.getSimpleName());
        }
        System.out.println("--------------随机英文名----------------");
        for(int i=0;i<50;i++) {         
            System.out.println(JRandomNameTool.getSimpleName(Language.en));
        }
        System.out.println("--------------随机中文名----------------");
        for(int i=0;i<50;i++) {         
            System.out.println(JRandomNameTool.getSimpleName(Language.zh));
        }
    }

}

调用说明

类间关系图:

这里写图片描述

生成基本的名字的使用可以通过JRandomNameTool完成。

针对性的生成通过具体的工具类,如 JEnglishUtils、JSimpleZhNameUtil生成。

更具体的,扩展性的则通过最细致的 JEnlishName 、JSimpleZhName完成。这一层次负责生成具体的名字,所有关于生成名字的细节都在这里。(关于英文和中文的生成,有部分不能完成,因为不熟悉英文的姓氏,以及部分接口方法是么有实现的)

——end

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值