Java把汉字转拼音求实现代码 RT:Java把汉字转拼音求实现代码 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 /** * 汉字转换位汉语拼音,英文字符不变 * @author Japie * */ public class Cn2Spell { /** * 汉字转换位汉语拼音首字母,英文字符不变 * @param chines 汉字 * @return 拼音 */ public static String converterToFirstSpell(String chines){ String pinyinName = "" ; char [] nameChar = chines.toCharArray(); HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat(); defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE); defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE); for ( int i = 0 ; i < nameChar.length; i ++ ) { if (nameChar[i] > 128 ) { try { pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[ 0 ].charAt( 0 ); } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } } else { pinyinName += nameChar[i]; } } return pinyinName; } /** * 汉字转换位汉语拼音,英文字符不变 * @param chines 汉字 * @return 拼音 */ public static String converterToSpell(String chines){ String pinyinName = "" ; char [] nameChar = chines.toCharArray(); HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat(); defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE); defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE); for ( int i = 0 ; i < nameChar.length; i ++ ) { if (nameChar[i] > 128 ) { try { pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[ 0 ]; } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } } else { pinyinName += nameChar[i]; } } return pinyinName; } public static void main(String[] args) { System.out.println(converterToFirstSpell( " 欢迎来到最棒的Java中文社区 " )); } } 有个开源项目叫pinyin4jhttp://pinyin4j.sourceforge.net/ 匿名内部类怎么可以是抽象类? 问一道java题目的扩展题目 Java中 是不是只有按值传递 和按引用传递?按址传递的说法错的吧?求高手肯定一下。 帮忙解释一下红色部分的代码 关于JNI(java native interface)的问题。。在线等。。高手请进 解析文件,为什么出现死循环?filePointer 的值总是小于 length 给我改改panel的大小,他太小了,都快成螺丝钉了 从一台机器向另一台传送文件有几种方式?应如何做? 快帮我看看我的代码怎么了! 懂rm等流媒体或在线播放的大哥看过来!重分,共同探讨 mysql里还显示乱码 字符串截取转成Map 如可做(求解)
/**
* 汉字转换位汉语拼音,英文字符不变
* @author Japie
*
*/
public class Cn2Spell {
/**
* 汉字转换位汉语拼音首字母,英文字符不变
* @param chines 汉字
* @return 拼音
*/
public static String converterToFirstSpell(String chines){
String pinyinName = "" ;
char [] nameChar = chines.toCharArray();
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
for ( int i = 0 ; i < nameChar.length; i ++ ) {
if (nameChar[i] > 128 ) {
try {
pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[ 0 ].charAt( 0 );
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
} else {
pinyinName += nameChar[i];
}
}
return pinyinName;
}
/**
* 汉字转换位汉语拼音,英文字符不变
* @param chines 汉字
* @return 拼音
*/
public static String converterToSpell(String chines){
String pinyinName = "" ;
char [] nameChar = chines.toCharArray();
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
for ( int i = 0 ; i < nameChar.length; i ++ ) {
if (nameChar[i] > 128 ) {
try {
pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[ 0 ];
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
} else {
pinyinName += nameChar[i];
}
}
return pinyinName;
}
public static void main(String[] args) {
System.out.println(converterToFirstSpell( " 欢迎来到最棒的Java中文社区 " ));
}
}
http://pinyin4j.sourceforge.net/