永发信息网

java中,中文首字母搜索是怎么实现的?

答案:3  悬赏:80  手机版
解决时间 2021-03-29 17:09
java中,中文首字母搜索是怎么实现的?
最佳答案
楼上的 楼主是要求输入字母求得相关的汉字字符串,而你音品码查询是从汉字求得首字母吧?
我做过一个公交查询系统,其中有个功能就是通过字母显示出相应的站点。
首先,你想通过‘W’得到王力宏、王菲等你就必须先把这些名字存到数据库中吧,然后你再在数据库中给这些名字项添加一个首字母的字段,当然你不用手动去输入它们的首字母,写个方法循环把它们的首字母输出并存入数据库中,方法可用楼上的音品码查询,我也写了个类似的方法,如下:
public class StringUtil {

//private static Log logger = LogFactory.getLog(StringUtil.class);

// 国标码和区位码转换常量
int GB_SP_DIFF = 160;
//存放国标一级汉字不同读音的起始区位码
int[] secPosValueList = {
1601, 1637, 1833, 2078, 2274, 2302, 2433, 2594, 2787,
3106, 3212, 3472, 3635, 3722, 3730, 3858, 4027, 4086,
4390, 4558, 4684, 4925, 5249, 5600};

//存放国标一级汉字不同读音的起始区位码对应读音
char[] firstLetter = {
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j',
'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's',
't', 'w', 'x', 'y', 'z'};
char convert(String ch) {
byte[] bytes=new byte[2];
try {
bytes = ch.getBytes("GB2312");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
char result = '-';
int secPosValue = 0;
int i;
for (i = 0; i < bytes.length; i++) {
bytes[i] -= GB_SP_DIFF;
}
secPosValue = bytes[0] * 100 + bytes[1];
for (i = 0; i < 23; i++) {
if (secPosValue >= secPosValueList[i] && secPosValue < secPosValueList[i + 1]) {
result = firstLetter[i];
break;
}
}
return result;
}

}
调用convert(String str)方法就是返回str字符串的首字的首字母。其它的应该没什么难的了,代码看不懂给我发信息。
全部回答
Ajax就可以实现,然后用到模糊查询.
两种做法:
一种是在数据库中加一个字段.就是专门写入字的品音的.王力宏 wlh
还有一种是根据汉字的品音码查询"这是以前写过的一个例子.
就是从字典第一个字开始到最后一个字..但是不全,你可以查一下再..
在数据库查询时写:between xx and xx
就行了..


























Z
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
[PS2]龙珠Z无限世界 出招表(包括必杀技)
本人1981年农历8月14日,晚上7—8点出生,运
有24张画片,小明给小华多少张画片,两人的画
破产费用和共益债务是否是有担保的债权人和普
我的世界怎么挖出石头,水晶,钻石
钓鱼时为何窝点一直冒泡就是不上鱼?
茂名到贵港火车k586,k587今天的票还有吗?
求3ds游戏,有没有人汇总
音乐为什么还有什么调?就是什么CDEF调之类的
农村的路为什么都是水泥路,真的是因为穷吗
云南东从川商贸有限公司怎么样?
阅读下列材料,回答问题材料一:我国的疆域图
学生坐位不论大小个,学习成绩不论好与坏,全
高低杠中的低杠高多少米?
dnf尊以上的很多人为什么装备只加7?
推荐资讯
灭尽定是什么?
男性为什么食指比无名指长?
大众点评热门怎么上
山西太原有什么好玩的地方,室内的,刚刚立春的
上海洪新金属材料有限公司怎么样?
15x15 25x25 35x35的规律是什么。
感觉天天果园的水果挺贵的?
电气图中wdzb一丫j丫一5*6是什么
电视机的荧光材料的化学成分是什么
三段式电流保护为什么要使各段的保护范围和时
什么叠什么屋成语
开通网银必须带银行卡吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?