Java_获取汉字的汉语拼音首字母Java版(转)

简介: Java_获取汉字的汉语拼音首字母Java版(转)
public class GetFirstLetter {   
  
 private static final int GB_SP_DIFF = 160;   
 private static final int[] secPosvalueList = {   
       1601, 1637, 1833, 2078, 2274, 2302, 2433, 2594, 2787,   
       3106, 3212, 3472, 3635, 3722, 3730, 3858, 4027, 4086,   
       4390, 4558, 4684, 4925, 5249, 5600};   
 private static final char[] firstLetter = {   
       'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j',   
       'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's',   
       't', 'w', 'x', 'y', 'z'};   
  
 public static String getFirstLetter(String oriStr) {   
     String str = oriStr.toLowerCase();   
     StringBuffer buffer = new StringBuffer();   
     char ch;   
     char[] temp;   
     for (int i = 0; i < str.length(); i++) {    
       ch = str.charAt(i);   
       temp = new char[] {   
           ch};   
       byte[] uniCode = new String(temp).getBytes();   
       if (uniCode[0] < 128 && uniCode[0] > 0) {   
         buffer.append(temp);   
       }   
       else {   
         buffer.append(convert(uniCode));   
       }   
     }   
     return buffer.toString().substring(0,1);   
 }   
  
 private static char convert(byte[] bytes) {   
  
     char result = '-';   
     int secPosvalue = 0;   
     int i;   
     for (i = 0; i < bytes.length; i++) {   
       bytes[i] -= GB_SP_DIFF;   
     }   
     secPosvalue = bytes[0] * 100 + bytes[1];   
     for (i = 0; i < 23; i++) {   
       if (secPosvalue >= secPosvalueList[i] &&   
           secPosvalue < secPosvalueList[i + 1]) {   
         result = firstLetter[i];   
         break;   
       }   
     }   
     return result;   
 }   
    
 public static void main(String s[]){   
     
  System.out.print(getFirstLetter("好"));   
 }  


相关文章
|
7月前
|
Java
2828. 判别首字母缩略词 --力扣 --JAVA
给你一个字符串数组 words 和一个字符串 s ,请你判断 s 是不是 words 的 首字母缩略词 。 如果可以按顺序串联 words 中每个字符串的第一个字符形成字符串 s ,则认为 s 是 words 的首字母缩略词。例如,"ab" 可以由 ["apple", "banana"] 形成,但是无法从 ["bear", "aardvark"] 形成。 如果 s 是 words 的首字母缩略词,返回 true ;否则,返回 false 。
57 0
|
7月前
|
Java 容器
idea中关于java的图形化界面编程awt_container容器中Button(按钮)上汉字是乱码或者小方框的解决方法
idea中关于java的图形化界面编程awt_container容器中Button(按钮)上汉字是乱码或者小方框的解决方法
131 0
|
6月前
|
Java
JAVA随机生成一个汉字的方法和代码
JAVA随机生成一个汉字的方法和代码
44 1
|
7月前
|
Java
Java正则表达式去掉非汉字字符
【5月更文挑战第11天】Java正则表达式去掉非汉字字符
152 3
|
Java
Java工具类——汉字转拼音
写了一个根据汉字获取拼音字符串的工具类
157 0
|
7月前
|
JSON Java fastjson
Java【问题 06】一次解决JSON.toJSONString和@RestController首字母大小写问题(特指属性首字母大写变小写)
Java【问题 06】一次解决JSON.toJSONString和@RestController首字母大小写问题(特指属性首字母大写变小写)
617 0
|
Java Maven
Java代码获取汉字的拼音或汉字首字母
今天写项目时,有需要将输入的汉字转化为拼音和提取每个汉字首字母的功能,随手记录分享一下
227 0
|
Java
java实现将汉字转为拼音
原文:java实现将汉字转为拼音   有时候为了方便操作程序的开发,需要将汉字转为拼音等操作。下面这个是自己结合网上的资料,加上自己在公司项目中的亲自实践。完整的实现了将汉字转为拼音的操作。这个Demo只是负责将其转换,在main方法中测试,在实际需要中,只需要调用这个类中的方法即可。
1343 0
|
13天前
|
设计模式 Java 开发者
Java多线程编程的陷阱与解决方案####
本文深入探讨了Java多线程编程中常见的问题及其解决策略。通过分析竞态条件、死锁、活锁等典型场景,并结合代码示例和实用技巧,帮助开发者有效避免这些陷阱,提升并发程序的稳定性和性能。 ####