java中把汉字转换成简拼的实现代码

所属分类: 软件编程 / java 阅读数: 106
收藏 0 赞 0 分享
复制代码 代码如下:

public static void main(String[] args) {
  String str = null;
  str = "顾亮";
  System.out.println("Spell=" + toJP(str));

 }

 public static String toJP(String c){

     char[] chars = c.toCharArray();

     StringBuffer sb = new StringBuffer("");

     for(int i=0;i<chars.length;i++){
      sb.append(getJP(chars[i]));
     }

     return sb.toString().toUpperCase();
  }
  public static String getJP(char c)
      {
              byte[] array = new byte[2];
              try {
      array = String.valueOf(c).getBytes("gbk");
     } catch (UnsupportedEncodingException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
     }
              if(array.length<2)return String.valueOf(c);
              int i = (short)(array[0] - '/0' + 256) * 256 + ((short)(array[1] - '/0' + 256));
              if ( i < 0xB0A1) return String.valueOf(c);
              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 String.valueOf(c);
      }
更多精彩内容其他人还在看

Java基于反射机制实现全部注解获取的方法示例

这篇文章主要介绍了Java基于反射机制实现全部注解获取的方法,结合实例形式分析了java反射机制获取注解的具体实现方法与操作注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

Java 信号量Semaphore的实现

这篇文章主要介绍了Java 信号量Semaphore的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

eclipse+maven+spring mvc项目基本搭建过程

这篇文章主要介绍了eclipse+maven+spring mvc项目基本搭建过程,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Spring boot集成swagger2生成接口文档的全过程

这篇文章主要给大家介绍了关于Spring boot集成swagger2生成接口文档的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Spring boot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

Java冒泡排序法和选择排序法的实现

这篇文章主要介绍了Java冒泡排序法和选择排序法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Spring Cloud Alibaba教程之Sentinel的使用

这篇文章主要介绍了Spring Cloud Alibaba教程之Sentinel的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Josephus环的四种解法(约瑟夫环)基于java详解

这篇文章主要介绍了Josephus环的四种解法(约瑟夫环)基于java详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Java继承Thread类创建线程类示例

这篇文章主要介绍了Java继承Thread类创建线程类,结合实例形式分析了java线程操作相关使用技巧与注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

Java使用Callable和Future创建线程操作示例

这篇文章主要介绍了Java使用Callable和Future创建线程操作,结合实例形式分析了java使用Callable接口和Future类创建线程的相关操作技巧与注意事项,需要的朋友可以参考下
收藏 0 赞 0 分享

springBoot使用JdbcTemplate代码实例

这篇文章主要介绍了springBoot使用JdbcTemplate代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多