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

例如请求参数中有.name="w"得到例:王力宏,王菲...name="wf"得到例:王菲,王福...... 例如请求参数中有.
name="w" 得到例:王力宏,王菲...
name="wf" 得到例:王菲,王福...
展开
 我来答
ltolt
推荐于2017-11-23 · TA获得超过106个赞
知道答主
回答量:56
采纳率:0%
帮助的人:45.2万
展开全部
楼上的 楼主是要求输入字母求得相关的汉字字符串,而你音品码查询是从汉字求得首字母吧?
我做过一个公交查询系统,其中有个功能就是通过字母显示出相应的站点。
首先,你想通过‘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字符串的首字的首字母。其它的应该没什么难的了,代码看不懂给我发信息。
光子鱼
2010-03-25 · 超过15用户采纳过TA的回答
知道答主
回答量:102
采纳率:0%
帮助的人:55.7万
展开全部
Ajax就可以实现,然后用到模糊查询.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
norrain7211373
2010-03-25 · TA获得超过135个赞
知道小有建树答主
回答量:164
采纳率:0%
帮助的人:130万
展开全部
两种做法:
一种是在数据库中加一个字段.就是专门写入字的品音的.王力宏 wlh
还有一种是根据汉字的品音码查询"这是以前写过的一个例子.
就是从字典第一个字开始到最后一个字..但是不全,你可以查一下再..
在数据库查询时写:between xx and xx
就行了..
<div class="r1">
<a href="#" onclick="go_py('吖','八')">A</a> 
<a href="#" onclick="go_py('八','嚓')">B</a> 
<a href="#" onclick="go_py('嚓','咑')">C</a> 
<a href="#" onclick="go_py('咑','妸')">D</a> 
<a href="#" onclick="go_py('妸','发')">E</a> 
<a href="#" onclick="go_py('发','旮')">F</a> 
<a href="#" onclick="go_py('旮','铪')">G</a> 
<a href="#" onclick="go_py('铪','鸡')">H</a> 
<a href="#">I</a> 
<a href="#" onclick="go_py('鸡','咔')">J</a> 
<a href="#" onclick="go_py('咔','垃')">K</a> 
<a href="#" onclick="go_py('垃','妈')">L</a> 
<a href="#" onclick="go_py('妈','嗯')">M</a> 
<a href="#" onclick="go_py('嗯','哦')">N</a> 
<a href="#" onclick="go_py('哦','妑')">O</a> 
<a href="#" onclick="go_py('妑','七')">P</a> 
<a href="#" onclick="go_py('七','呥')">Q</a> 
<a href="#" onclick="go_py('呥','仨')">R</a> 
<a href="#" onclick="go_py('仨','他')">S</a> 
<a href="#" onclick="go_py('他','屲')">T</a> 
<a href="#">U</a> 
<a href="#">V</a> 
<a href="#" onclick="go_py('屲','夕')">W</a> 
<a href="#" onclick="go_py('夕','丫')">X</a> 
<a href="#" onclick="go_py('丫','帀')">Y</a> 
<a href="#" onclick="go_py('帀','坐')">Z</a>
</div>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式