- 浏览: 98548 次
- 性别:
- 来自: 北京
最新评论
public class GB2Alpha { //字母Z使用了两个标签,这里有27个值 //i, u, v都不做声母, 跟随前面的字母 private char[] chartable = { '啊', '芭', '擦', '搭', '蛾', '发', '噶', '哈', '哈', '击', '喀', '垃', '妈', '拿', '哦', '啪', '期', '然', '撒', '塌', '塌', '塌', '挖', '昔', '压', '匝', '座' }; private char[] alphatable = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' }; private int[] table = new int[27]; //初始化 { for (int i = 0; i < 27; ++i) { table[i] = gbValue(chartable[i]); } } public GB2Alpha() { } //主函数,输入字符,得到他的声母, //英文字母返回对应的大写字母 //其他非简体汉字返回 '0' public char Char2Alpha(char ch) { if (ch >= 'a' && ch <= 'z') return (char) (ch - 'a' + 'A'); if (ch >= 'A' && ch <= 'Z') return ch; int gb = gbValue(ch); if (gb < table[0]) return '0'; int i; for (i = 0; i < 26; ++i) { if (match(i, gb)) break; } if (i >= 26) return '0'; else return alphatable[i]; } //根据一个包含汉字的字符串返回一个汉字拼音首字母的字符串 public String String2Alpha(String SourceStr) { String Result = ""; int StrLength = SourceStr.length(); int i; try { for (i = 0; i < StrLength; i++) { System.out.println(SourceStr.charAt(i)); Result += Char2Alpha(SourceStr.charAt(i)); } } catch (Exception e) { Result = ""; } return Result; } private boolean match(int i, int gb) { if (gb < table[i]) return false; int j = i + 1; //字母Z使用了两个标签 while (j < 26 && (table[j] == table[i])) ++j; if (j == 26) return gb <= table[j]; else return gb < table[j]; } //取出汉字的编码 private int gbValue(char ch) { String str = new String(); str += ch; try { byte[] bytes = str.getBytes("GB2312"); if (bytes.length < 2) return 0; return (bytes[0] << 8 & 0xff00) + (bytes[1] & 0xff); } catch (Exception e) { return 0; } } public static void main(String[] args) { GB2Alpha obj1 = new GB2Alpha(); System.out.println(obj1.String2Alpha("测试:中华人民共和国!")); System.out.println(obj1.String2Alpha("王瑞杰")); return; } }
发表评论
-
hibernate中htm.xml注意的一个问题
2011-06-08 12:00 833遇到了这个问题 总是报 org.hibernate ... -
罗马数字转成阿拉伯数字
2011-06-02 13:15 2576首先得知道罗马数字是怎么回事: http://520920. ... -
有关于验证码的
2011-06-01 13:00 594验证码 是怎么出来的呢 应该有很多种方式,今天看到了一段代码中 ... -
转系统架构的一片文章
2011-05-13 14:27 682原文其实应该是.NET上面的 但是我觉得架构上同样适用 ... -
后缀树 后缀数组 字符串的 那些面试题... 【烂,别点进来】
2011-04-24 16:28 1534最近在总结点面试题,好像放在公司里,忘记拷到U盘上了。回去传到 ... -
海量数据的匹配 bloom filter 【别进来 很烂】
2011-04-22 10:30 980引出 是老张说的腾讯的面试题 说 昨天有一亿个QQ登陆 ... -
Hello mina 【别进来 烂 会后悔】
2011-04-18 17:46 725mina nio 开源代码 以上是关键字 感觉 ... -
java nio & reactor
2011-04-15 14:26 805想看 java io很久了 菜的很 两个文章和一本书 小了解一 ... -
vm到jsp
2011-02-14 14:54 2068http://www.iteye.com/topic/1355 ... -
json&jsonP&跨域
2011-01-10 15:58 741http://www.ibm.com/developerwor ... -
PermGen space
2010-12-14 11:59 670http://blog.csdn.net/Jerry_R ... -
编程珠玑课后题,吝啬的初始化
2010-12-05 16:20 993在这里,我们有一个稀疏的数组需要访问,并且在第一次访问的时 ... -
BitSet 原理&位操作&基本类型的大小
2010-12-05 11:52 1820因为在看编程珠玑 第一章讲到了 用BitSet来对N多数字进行 ... -
JVM 小总结
2010-11-25 14:22 615http://www.iteye.com/topic/8218 ... -
jdk5.0 6.0新特性
2010-11-25 08:18 532也许会被蛋疼的人问道吧 http://qwzhl100 ... -
对象的复制:ezmorph
2010-11-17 10:59 692ezmoph组件 http://blog.csdn.net/ ... -
how tomcat works
2010-11-16 17:36 937http://jarfield.iteye.com/blog/ ... -
ThreadLocal
2010-11-14 22:05 717起因还是那天培训 对这个了解不深刻 赶紧看看 ... -
ConcurrentHashMap记录
2010-11-14 21:09 770那天的讲座中 武祥提到了 ConcurrentHashMap ... -
有关海量数据
2010-11-06 16:26 774起因是看到了 小灰灰在人人上分享的文章 http://blo ...
相关推荐
在很多地方都可以用的 这是一个通用的汉字转换拼音 只要写几换代码就可以了 说的再好也不如下个用用JAVA做的
用于获取中文首字母,特别是中文姓名缩写,其中包含main函数,可以直接测试运行
在Java中对于字符串数组的排序,我们可以使用Arrays.sort(String[])方法很便捷的进行排序。例如: String[] arrays = new String[] { gyu, sdf, zf, 大同, 收到, 地方, 三等分, 的人, 反对高铁, 泛代数, 上的投入...
演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口函数得到远程...
演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口函数得到远程...
汉字转换位汉语拼音首字母,包括对多音字的识别,有jar
Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient ...
Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient ...
Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient ...
Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient ...
Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient ...
Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient ...
Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient ...
Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient ...
Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient ...
Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换。拼音输出格式可以定制。 异步HTTP客户端开发包 HttpAsyncClient HttpAsyncClient 是一个异步的 HTTP 客户端开发包,基于 HttpCore NIO 和 HttpClient ...
不得使用拼音或拼音缩写,除非该名字描述的是中文特有的内容,如半角、全角, 声母、韵母等。 (2)所有命名都应遵循达意原则,即名称应含义清晰、明确。 (3)所有命名都不易过长,应控制在规定的最大长度以内。 ...
具体的功能如下: 点击输入框,自动列出... 支持中文/拼音/3字码 输入的智能提示; 支持键盘方向键选择、回车键确定; 支持选择后自定义callback函数; 支持IE6、IE7、IE8、Firefox zxowl@hotmail.com java爱好者
不得使用拼音或拼音缩写,除非该名字描述的是中文特有的内容,如半角、全角, 声母、韵母等。 2、所有命名都应遵循达意原则,即名称应含义清晰、明确。 3、所有命名都不易过长,应控制在规定的最大长度以内。 4、...