用Java编写获取中文首字母

用Java编写获取中文名首字母,有些字原样输出,如:姣,婷,大部分字可以输出,就一少部分


import net.sourceforge.pinyin4j.PinyinHelper;

public class PinyinHelperUtil {

/**

* 得到中文首字母(中国 -> ZG)

* @param str 需要转化的中文字符串

* @return 大写首字母缩写的字符串

*/

public static String getPinYinHeadChar(String str) {

StringBuilder convert = new StringBuilder();

for (int j = 0; j < str.length(); j++) {

char word = str.charAt(j);

String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);

if (pinyinArray != null) {

convert.append(pinyinArray[0].charAt(0));

} else {

convert.append(word);

}

}

return convert.toString().toUpperCase();

}

}

PinyinHelper包导进去报红,是怎么回事