首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Java中将汉语言姓名转换为拼音的简单实现

2012-11-04 
Java中将中文姓名转换为拼音的简单实现以下是源代码:import net.sourceforge.pinyin4j.PinyinHelperimpor

Java中将中文姓名转换为拼音的简单实现

以下是源代码:


import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;

public class SpellHelper {
? ? //将中文转换为英文
? ? public static String getEname(String name) {
? ?? ???HanyuPinyinOutputFormat pyFormat = new HanyuPinyinOutputFormat();
? ?? ???pyFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
? ?? ???pyFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
? ?? ???pyFormat.setVCharType(HanyuPinyinVCharType.WITH_V);

? ?? ???return PinyinHelper.toHanyuPinyinString(name, pyFormat, "");
? ? }

? ? //姓、名的第一个字母需要为大写
? ? public static String getUpEname(String name) {
? ?? ???char[] strs = name.toCharArray();
? ?? ???String newname = null;
? ?? ?? ?? ?? ??
? ?? ???//名字的长度
? ?? ???if (strs.length == 2) {? ??
? ?? ?? ?? ?? ? newname = toUpCase(getEname("" + strs[0])) + " "
? ?? ?? ?? ?? ?? ???+ toUpCase(getEname("" + strs[1]));
? ?? ???} else if (strs.length == 3) {
? ?? ?? ?? ?? ?newname = toUpCase(getEname("" + strs[0])) + " "
? ?? ?? ?? ?? ?? ???+ toUpCase(getEname("" + strs[1] + strs[2]));
? ?? ???} else if (strs.length == 4) {
? ?? ?? ?? ?newname = toUpCase(getEname("" + strs[0] + strs[1])) + " "
? ?? ?? ?? ?? ?? ???+ toUpCase(getEname("" + strs[2] + strs[3]));
? ?? ???} else {
? ?? ?? ?? ?newname = toUpCase(getEname(name));
? ?? ???}

? ?? ???return newname;
? ? }

? ? //首字母大写
? ? private static String toUpCase(String str) {
? ?? ???StringBuffer newstr = new StringBuffer();
? ?? ???newstr.append((str.substring(0, 1)).toUpperCase()).append(
? ?? ?? ?? ?? ? str.substring(1, str.length()));

? ?? ???return newstr.toString();
? ? }

? ? public static void main(String[] args) {
? ?? ???System.out.println(getUpEname("李宇春"));

? ? }

}

?

大家如果觉得有用可以关注社区地址http://www.javadt.com

1 楼 maccter 2012-04-25   import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;

这些对应的类 没发啊

热点排行