漢字轉換為拼音的Java代碼

jopen 11年前發布 | 16K 次閱讀 Java Java開發

    import java.util.Scanner;

public class ChineseToPinYin {  
 /**  
  * 漢字轉拼音縮寫  
  *   
  * @param str  
  *            要轉換的漢字字符串  
  * @return String 拼音縮寫  
  */  
 public String getPYString(String str) {  
  String tempStr = "";  
  for (int i = 0; i < str.length(); i++) {  
   char c = str.charAt(i);  
   if (c >= 33 && c <= 126) {// 字母和符號原樣保留  
    tempStr += String.valueOf(c);  
   } else {// 累加拼音聲母  
    tempStr += getPYChar(String.valueOf(c));  
   }  
  }  
  return tempStr;  
 }  

 /**  
  * 取單個字符的拼音聲母  
  *   
  * @param c  
  *            //要轉換的單個漢字  
  * @return String 拼音聲母  
  */  
 public String getPYChar(String c) {  
  byte[] array = new byte[2];  
  array = String.valueOf(c).getBytes();  
  int i = (short) (array[0] - '\0' + 256) * 256  
    + ((short) (array[1] - '\0' + 256));  
  if (i < 0xB0A1)  
   return "*";  
  if (i < 0xB0C5)  
   return "a";  
  if (i < 0xB2C1)  
   return "b";  
  if (i < 0xB4EE)  
   return "c";  
  if (i < 0xB6EA)  
   return "d";  
  if (i < 0xB7A2)  
   return "e";  
  if (i < 0xB8C1)  
   return "f";  
  if (i < 0xB9FE)  
   return "g";  
  if (i < 0xBBF7)  
   return "h";  
  if (i < 0xBFA6)  
   return "j";  
  if (i < 0xC0AC)  
   return "k";  
  if (i < 0xC2E8)  
   return "l";  
  if (i < 0xC4C3)  
   return "m";  
  if (i < 0xC5B6)  
   return "n";  
  if (i < 0xC5BE)  
   return "o";  
  if (i < 0xC6DA)  
   return "p";  
  if (i < 0xC8BB)  
   return "q";  
  if (i < 0xC8F6)  
   return "r";  
  if (i < 0xCBFA)  
   return "s";  
  if (i < 0xCDDA)  
   return "t";  
  if (i < 0xCEF4)  
   return "w";  
  if (i < 0xD1B9)  
   return "x";  
  if (i < 0xD4D1)  
   return "y";  
  if (i < 0xD7FA)  
   return "z";  
  return "*";  
 }  

 public static void main(String[] args) {  
  ChineseToPinYin ctpy = new ChineseToPinYin();  
  Scanner sc = new Scanner(System.in);  
  System.out.println("請輸入漢字:");  
  String str = sc.next();  
  String py = ctpy.getPYString(str);  
  System.out.print("拼音:" + py);  
 }  
}  </pre><br />
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!