Java中文自动转拼音

来源:互联网 发布:网页捕鱼源码 编辑:程序博客网 时间:2024/05/19 09:47
package com;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);}}

原创粉丝点击