网上看到别人写的,感觉挺强,以前还以为要实现输拼音缩写查询的话需要新增字段,如此以来就方便很多了。

public class aaaaaaa {

/**

* 汉字转拼音缩写

* @param str  //要转换的汉字字符串

* @return String  //拼音缩写

*/

public static String getPYString(String str)

{

String tempStr = "";

for(int i=0; i

char c = str.charAt(i);

if((int)c >= 33 && (int)c <=126) {//字母和符号原样保留

tempStr += String.valueOf(c);

}

else {//累加拼音声母

tempStr += getPYChar( String.valueOf(c) );

}

}

return tempStr;

}

/**

* 取单个字符的拼音声母

* @param c  //要转换的单个汉字

* @return String 拼音声母

*/

public static String getPYChar(String c)

{

byte[] array = new byte[2];

array = String.valueOf(c).getBytes();

int i = (short)(array[0] - '\0' + 256) * 256 + ((short)(array[1] - '\0' + 256));

if ( i < 0xB0A1) return "*";

if ( i < 0xB0C5) return "a";

if ( i < 0xB2C1) return "b";

if ( i < 0xB4EE) return "c";

if ( i < 0xB6EA) return "d";

if ( i < 0xB7A2) return "e";

if ( i < 0xB8C1) return "f";

if ( i < 0xB9FE) return "g";

if ( i < 0xBBF7) return "h";

if ( i < 0xBFA6) return "j";

if ( i < 0xC0AC) return "k";

if ( i < 0xC2E8) return "l";

if ( i < 0xC4C3) return "m";

if ( i < 0xC5B6) return "n";

if ( i < 0xC5BE) return "o";

if ( i < 0xC6DA) return "p";

if ( i < 0xC8BB) return "q";

if ( i < 0xC8F6) return "r";

if ( i < 0xCBFA) return "s";

if ( i < 0xCDDA) return "t";

if ( i < 0xCEF4) return "w";

if ( i < 0xD1B9) return "x";

if ( i < 0xD4D1) return "y";

if ( i < 0xD7FA) return "z";

return "*";

}

public static void main(String []g){

System.out.println(getPYString("中国,,;$#@&avc"));

}

}

java 汉字转拼音缩写_用JAVA实现汉字转拼音缩写相关推荐

  1. 【源码+图片素材】Java王者荣耀游戏开发_开发Java游戏项目【王者荣耀】1天搞定!!!腾讯游戏_Java课程设计_Java实战项目_Java初级项目

    王者荣耀是当下热门手游之一,小伙伴们是否想过如何制作一款属于自己的王者荣耀游戏呢? 本课程讲解了一个王者荣耀游戏的详细编写流程,即使你是刚入门Java的新手,只要你简单掌握了该游戏所需要的JavaSE ...

  2. java 月份缩写_关于java:如何将日期字符串解析为Date?

    本问题已经有最佳答案,请猛点这里访问. 如何将下面的日期字符串解析为Date对象? String target ="Thu Sep 28 20:29:30 JST 2000"; D ...

  3. java设计一个查询模块_采用Java实现的汉语拼音查询模块

    0引言现有管理信息系统的数据库中存储了大量的中文信息,中文信息的检索是MIS的重要功能,对于中文字段的常见查询方法是输入汉字字符串,但是此方法需要过多的击键次数,例如,查询人名为"王晓明&q ...

  4. java byte char io流_吃透Java IO:字节流、字符流、缓冲流

    前言有人曾问fastjson的作者(阿里技术专家高铁):"你开发fastjson,没得到什么好处,反而挨了骂背了锅,这种事情你为什么要做呢?" 高铁答道:"因为热爱本身, ...

  5. java 字节码增强原理_深入浅出Java探针技术1--基于java agent的字节码增强案例

    Java agent又叫做Java 探针,本文将从以下四个问题出发来深入浅出了解下Java agent 一.什么是java agent? Java agent是在JDK1.5引入的,是一种可以动态修改 ...

  6. java探针 字节码增强_深入浅出Java探针技术1--基于java agent的字节码增强案例

    Java agent又叫做Java 探针,本文将从以下四个问题出发来深入浅出了解下Java agent 一.什么是java agent? Java agent是在JDK1.5引入的,是一种可以动态修改 ...

  7. java课后习题七解析_《Java基础入门》_课后习题解析.doc

    <Java基础入门>_课后习题解析 <Java基础入门>课后习题 Java开发入门 一.填空题 1.Java的三大体系分别是_JavaSE_____._JavaEE_____. ...

  8. java jsp取静态常量_获取java静态

    Android NDK开发系列教程4:对类变量进行操作 终于建了一个自己个人小站:https://huangtianyu.gitee.io,以后优先更新小站博客,欢迎进站,O(∩_∩)O~~ 通常我们 ...

  9. java课后习题及答案_《java基础入门》课后习题及答案.doc

    <java基础入门>课后习题及答案.doc <Java 基础入门>课后习题及答案博学谷--让 IT 教学更简单,让 IT 学习更有效<Java 基础入门> 课后习题 ...

  10. java打印args的内容_解决java main函数中的args数组传值问题

    这几天面试中有遇到关于main数组中的args数组传值的问题,一般是从命令提示符中传值,也可以直接在java代码中赋值. 而且这个数组的长度是动态的,根据传值的个数确定数组的长度. 1.从命令提示符中 ...

最新文章

  1. IPV6的设置问题!
  2. 软件工程师安德烈·梅萨成功夺得世界小姐桂冠
  3. 命令行 蓝牙_Noble - Window平台NodeJs蓝牙BLE开发库
  4. 006_JavaScript注释
  5. php数据库备份脚本
  6. python组合数据分类_Python解决数据样本类别分布不均衡问题
  7. 计算机陕西高校保研排名,陕西18所大学2021届保研率排行榜
  8. 一招生成定制版二次元人脸头像,还能“模仿”你的表情!
  9. 《Java语言程序设计》(基础篇原书第10版)第十三章复习题答案
  10. 【计算机组成原理】重点总结(详版)
  11. nginx工作原理及配置
  12. F2FS文件系统二 实验分析f2fs文件系统
  13. centos7设置键盘类型_CentOS7设置中文输入法
  14. 安装VMware+linux+oracle手记
  15. 基于python技术的超市仓库管理系统
  16. ios模拟器 安装ipa_ios模拟器安装.app
  17. 山西民生云 执行认证校验出错_山西民生云app最新版下载,山西民生云大同app认证官网最新版本下载 v2.2 - 浏览器家园...
  18. Mac/Linux 安装ab(Apache Benchmark)
  19. 【金曲榜】————1、《修炼爱情》(林俊杰)
  20. 淘客联盟系统维护光盘2008新春大礼包

热门文章

  1. ug无限的服务器名称,ug无效的服务器名称
  2. 7、边沿触发-D型触发器
  3. android的大转盘抽奖完美实现
  4. SAP ABAP STANDARD TABLE,SORTED TABLE和HASHED TABLE简介
  5. windows环境下定时进行阿里云DDNS解析
  6. PS放大图片而不模糊的操作方法
  7. 微信公众号怎么创建?
  8. egret 显示帧动画
  9. 关于微信8.0.0以下版本登录版本验证的解决办法
  10. mac 微信不能设置代理服务器,mac微信能用但是浏览器上不了网