类似qq的汉字拼音首字查询

来源:互联网 发布:淘宝优惠券转化无线 编辑:程序博客网 时间:2024/04/28 06:11
一个demo,大概思路是这样:用Properties的load()来加载一个固定格式的文本文件注1,然后直接当Hashtable用。
package org.navyblue.tests;

import java.util.*;

/**//**
 *
 * 类似qq的汉字拼音首字查询方法
 * by zqc 2005-08-04
 *
 ***/
public class pyTest
{
    public pyTest(){}
   
    public static void main(String[] args)throws Exception{
        Properties pyMap = new Properties();
        //拼音隐射表
        pyMap.load(new java.io.FileInputStream("pyutf.txt"));
        //测试字符
        String[] testStr = {"我们","阿哈","嘎嘎","干什么","郑晴川","谁"};
        //模拟输入
        String input = "g";
       
        System.out.println ("输入查询字符:g");
        Vector inis = new Vector();
        Vector results = new Vector();
        Vector results2 = new Vector();
       
        //返回所有测试字符串的首字的打头拼音
        for( int i =0 ; i < testStr.length ; i++ ){
            String ini =new String( new char[] { testStr[i].charAt(0)} );
            String k = (String)pyMap.get(ini);
            results.add(k);
            results2.add(testStr[i]);
        }
       
        //输出结果
        int l = results.size();
        for(int i = 0 ; i < l ; i++){
            String c = (String)results.get(i);
            if(c.equals(input)){
                System.out.println (results2.get(i));
            }
        }
    }
}

----
注1:这个映射文件系网上找来的,大约有14K的汉字量,一般也够用了~用文本工具对原先的格式做了些修改使它符合Properties的格式,然后再用native2ascii转成utf-8编码。
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 做杨梅罐头里面好多小白虫怎么办 一地两检手续怎么办 剩米饭变干硬了怎么办 吃剩的米饭变硬怎么办 误食发热包的水怎么办 玻璃饭盒加热后盖子打不开怎么办 玻璃饭盒盖子被吸住了怎么办 微波炉加热饭盒盖子打不开怎么办 铁饭盒盖子打不开了怎么办 塑料玻璃饭盒打不开了怎么办 方便火锅没有发热包怎么办 加热包的水溢出怎么办 军用黄脸盆坏了怎么办 白瓷洗手盆发黄怎么办 挎包没有拉链东西容易掉怎么办 斜挎包肩带长了怎么办 3个月宝宝不吃奶怎么办 米饭扔厕所堵了怎么办 门过梁搭接不够怎么办 华为g7开不了机怎么办 警务通手机丢了怎么办 手机被伪基站覆盖怎么办 听了高频率声音怎么办 qq音乐签到没了怎么办 手机qq音乐不能播放怎么办 台式电脑放歌没有声音怎么办 微信图片上传大愎怎么办 行车记录仪内存卡丢了怎么办 投资项目失败lp的钱怎么办 无线网无ip分配怎么办 为什么电脑的暴风影音打不开怎么办 电枪充电板进水怎么办 捡到一颗子弹该怎么办 防弹衣只保护身体那手臂怎么办? 被子被宝宝尿湿怎么办 眼睛被子弹打了怎么办 gta5买了2套衣服怎么办 gta5车被摧毁了怎么办 gta5车被损坏了怎么办 头盔玻璃磨花了怎么办 浇花喷水壶坏了怎么办