本文实例讲述了java获取中文拼音首字母工具类定义与用法。分享给大家供大家参考,具体如下:
包com.sw.documentary.common.utils; 公开课GB2Alpha {//字母Z使用了两个标签,这里有27个值//我,u, v都不做声母,跟随前面的字母 私人char [] chartable={ “啊”,“芭”、“擦”、“搭”、“蛾”,“发”,“噶”、“哈”、“哈”, “击”、“喀’,‘垃’,‘妈’,‘拿’,‘哦’,‘啪’,‘期’,‘然’, “撒”、“塌”,“塌”,“塌”、“挖”,“昔”,“压”、“匝”、“座” }; 私人char [] alphatable={ ' A ', ' B ', ' C ', ' D ',‘E’,‘F’,‘G’,‘H’,‘我’, “J”、“K”、“L”、“米”、“N”,“O”,“P”、“问”、“R”, ‘S’,‘T’,‘你’,‘V’,‘W’,‘X’,‘Y’,“Z” }; 私人int[]表=new int [27];//初始化 { for (int i=0;我& lt;27个;+ + i) { 表[我]=gbValue (chartable[我]); } } 公共GB2Alpha () { }//主函数、输入字符,得到他的声母,//英文字母返回对应的大写字母//其他非简体汉字返回' 0 ' 公共字符Char2Alpha (char ch) { 如果(ch祝辞=' a ',,ch & lt;=' z ') 返回(char) (ch - a + a); 如果(ch祝辞=' A ',,ch & lt;=' Z ') 返回ch; int gb=gbValue (ch); 如果(gb & lt;表[0]) 返回“0”; int我; (我=0;我& lt;26日;+ + i) { 如果匹配(我,gb)休息; } 如果(我在=26) 返回“0”; 其他的 返回alphatable[我]; }//根据一个包含汉字的字符串返回一个汉字拼音首字母的字符串 String2Alpha公共字符串(字符串SourceStr) { 字符串的结果=" "; int StrLength=SourceStr.length (); int我; 尝试{ (我=0;我& lt;StrLength;我+ +){ 结果+=Char2Alpha (SourceStr.charAt(我)); } }捕捉(异常e) { 结果=" "; } 返回结果; } 私人布尔匹配(int, int gb) { 如果(gb & lt;表(我)) 返回错误; int j=i + 1;//字母Z使用了两个标签 而(j & lt;26日,,表(表[j]==[我]))+ + j; 如果(j==26) 返回gb & lt;=表[j]; 其他的 返回gb & lt;表[j]; }//取出汉字的编码 私人int gbValue (char ch) { 字符串str=新的字符串(); str +=ch; 尝试{ byte[]字节=str.getBytes (GB2312); 如果(字节。长度& lt;2) 返回0; 返回(字节[0]& lt; & lt;8,0 xff00) +(字节[1], 0 xff); }捕捉(异常e) { 返回0; } } 公共静态void main (String [] args) { GB2Alpha其中obj1=new GB2Alpha (); System.out.println (obj1.String2Alpha (" ")); System.out.println (obj1.String2Alpha(“欢迎你")); 返回; } } >之前运行结果:
JBZJ
引用>
HYNhttp://tools.jb51.net/aideddesign/zh_paixu
<强> 强> http://tools.jb51.net/transcoding/hanzi2pinyin
<强> 强> http://tools.jb51.net/transcoding/zh_pinyin
http://tools.jb51.net/transcoding/upper
更多关于java相关内容感兴趣的读者可查看本站专题:《java数组操作技巧总结》,《java字符与字符串操作技巧总结》,《java数学运算技巧总结》,《java数据结构与算法教程》及《java操作DOM节点技巧总结》
希望本文所述对大家java程序设计有所帮助。
java获取中文拼音首字母工具类定义与用法实例