基本介紹
一個生成隨機中英文姓名的 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