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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章