将汉字转换成拼音:
/**
1、实用类HanyuPinyinOutputFormat 设置输出格式
(1)、setCaseType设置输出拼音大小写。
--》HanyuPinyinCaseType.LOWERCASE 小写字母
--》HanyuPinyinCaseType.UPPERCASE 大写字母
(2)、setToneType设置拼音输出方式
--》HanyuPinyinToneType.WITHOUT_TONE 不输出声调
--》HanyuPinyinToneType.WITH_TONE_NUMBER 用数字代表声调(1-4)
--》HanyuPinyinToneType.WITH_TONE_MARK 用符号输出声调
(3)、setVCharType 设置字母样式
--》HanyuPinyinVCharType.WITH_V 'ü'用"v"代替
--》HanyuPinyinVCharType.WITH_U_AND_COLON 'ü'不变
--》HanyuPinyinVCharType.WITH_U_UNICODE 'ü'用'u'代替
2、PinyinHelper.toHanyuPinyinStringArray()转换成拼音。
*/
import java.util.Scanner;
import java.lang.Exception;
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;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
class ConverToPinYin
{
public static void main(String[] args) throws Exception
{
Scanner sc = new Scanner(System.in);
System.out.println("请输入汉字:");
while(true)
{
String tarString = sc.next();
if(tarString == null || tarString.length() == 0)
{
System.out.println("请重新输入汉字");
continue;
}
if(tarString.matches("[\\u4E00-\\u9FA5]+"))
{
ConvertString(tarString);
System.out.println();
}
else
System.out.println("输入不合法,请重新输入。");
}
}
private static void ConvertString(String src) throws Exception
{
char [] ch = src.toCharArray();
HanyuPinyinOutputFormat hf = new HanyuPinyinOutputFormat();
//设置输出类型
hf.setCaseType(HanyuPinyinCaseType.LOWERCASE);
//设置声调,如果使用WITH_TONE_MARK,则必须指定setVCharType为WITH_U_UNICODE,否则报错
hf.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
//设置字母样式
hf.setVCharType(HanyuPinyinVCharType.WITH_U_AND_COLON);
for(char temch : ch)
{
//此处注意要点,有的字是多音字,所以一般我们不标声调就取第一个。
String[] pinyinHead = PinyinHelper.toHanyuPinyinStringArray(temch,hf);
for(String str:pinyinHead)
{
System.out.print(str + "\t");
break;
}
}
}
}
pinyin.jar包下载地址:http://download.youkuaiyun.com/detail/anlidengshiwei/8449521点击打开链接