输入汉字获取汉字的简拼

项目中需要的的一个小功能,网上找的

package com.test.el;

public class Test {
	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().toLowerCase();
		 }

		 public static String getJP(char c) {
		 byte[] array = new byte[2];
		 array = String.valueOf(c).getBytes();
		 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);
		 }

		public static void main(String[] args) {
		 System.out.println(toJP("java数据结构"));//简拼
		 }
}

  

转载于:https://www.cnblogs.com/miceal/p/3391324.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值