A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李江 中级黑马   /  2013-10-11 19:42  /  1317 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. import net.sourceforge.pinyin4j.PinyinHelper;
  2. import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
  3. import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
  4. import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
  5. import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;

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

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

  15.     //姓、名的第一个字母需要为大写
  16.     public static String getUpEname(String name) {
  17.         char[] strs = name.toCharArray();
  18.         String newname = null;
  19.                
  20.         //名字的长度
  21.         if (strs.length == 2) {   
  22.                 newname = toUpCase(getEname("" + strs[0])) + " "
  23.                     + toUpCase(getEname("" + strs[1]));
  24.         } else if (strs.length == 3) {
  25.                newname = toUpCase(getEname("" + strs[0])) + " "
  26.                     + toUpCase(getEname("" + strs[1] + strs[2]));
  27.         } else if (strs.length == 4) {
  28.             newname = toUpCase(getEname("" + strs[0] + strs[1])) + " "
  29.                     + toUpCase(getEname("" + strs[2] + strs[3]));
  30.         } else {
  31.             newname = toUpCase(getEname(name));
  32.         }

  33.         return newname;
  34.     }

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

  40.         return newstr.toString();
  41.     }

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

  44.     }

  45. }
复制代码

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马