电话拨号盘T9搜索原理

来源:互联网 发布:java电商项目视频教程 编辑:程序博客网 时间:2024/05/01 20:54

电话拨号键输入数字能搜索出相关的电话号码以及联系人名字,其中名字看起来又还能按中英文搜索,其实本质上都是按数字在进行对比。

如将字母转换成数字方法:

public char getNumFromAlpha(charalpha) {
   switch (alpha){
   case 'a':
   case 'b':
   case 'c':
   case 'A':
   case 'B':
   case 'C':
      return '2';
   case 'd':
   case 'e':
   case 'f':
   case 'D':
   case 'E':
   case 'F':
      return '3';
   case 'g':
   case 'h':
   case 'i':
   case 'G':
   case 'H':
   case 'I':
      return '4';
   case 'j':
   case 'k':
   case 'l':
   case 'J':
   case 'K':
   case 'L':
      return '5';
   case 'm':
   case 'n':
   case 'o':
   case 'M':
   case 'N':
   case 'O':
      return '6';
   case 'p':
   case 'q':
   case 'r':
   case 's':
   case 'P':
   case 'Q':
   case 'R':
   case 'S':
      return '7';
   case 't':
   case 'u':
   case 'v':
   case 'T':
   case 'U':
   case 'V':
      return '8';
   case 'w':
   case 'x':
   case 'y':
   case 'z':
   case 'W':
   case 'X':
   case 'Y':
   case 'Z':
      return '9';
   default:
      return alpha;
   }
}

通过以上方法能很直观的看到所有字母都有对应的一个数字,如果是汉字通过拼音转换包转换成拼音,然后再通过字母转换成数字,最后就可以用数字来进行比对搜索了。

0 0