开发者社区> 杰克.陈> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

java实现将汉字转为拼音

简介: 原文:java实现将汉字转为拼音   有时候为了方便操作程序的开发,需要将汉字转为拼音等操作。下面这个是自己结合网上的资料,加上自己在公司项目中的亲自实践。完整的实现了将汉字转为拼音的操作。这个Demo只是负责将其转换,在main方法中测试,在实际需要中,只需要调用这个类中的方法即可。
+关注继续查看
原文:java实现将汉字转为拼音

  有时候为了方便操作程序的开发,需要将汉字转为拼音等操作。下面这个是自己结合网上的资料,加上自己在公司项目中的亲自实践。完整的实现了将汉字转为拼音的操作。这个Demo只是负责将其转换,在main方法中测试,在实际需要中,只需要调用这个类中的方法即可。本人也是在学习中总结,欢迎各位大神拍砖指教,本人邮箱:it_red@sina.com。转载本博客时请在文章明显位置标明文章出处(itRed的博客:http://www.cnblogs.com/itred)。

   首先贴出测试结果:

      

   测试参数:

        汉字转换为拼音

        汉字转换为拼音

     main测试方法的代码:

1 public static void main(String[] args) {
2         System.out.println(ToFirstChar("汉字转换为拼音").toUpperCase()); //转为首字母大写
3         System.out.println(ToPinyin("汉字转换为拼音")); 
4     }

 

  本功能的实现时利用java开源库,开发此程序需要一个jar包。本人用的是pinyin4j-2.5.0.jar。网上可以直接下载,也可以在其官网进行下载。在此不祥述。如果实在不乐意,可以点击下载将进行这个jar包的下载。

  贴出实现该Demo的源码:

 1 package com.red.test;
 2 
 3 import net.sourceforge.pinyin4j.PinyinHelper;
 4 import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
 5 import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
 6 import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
 7 import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
 8 
 9 /**
10  * 汉字转换为拼音
11  * @author Red
12  */
13 public class PinyinDemo {
14     /**
15      * 测试main方法
16      * @param args
17      */
18     public static void main(String[] args) {
19         System.out.println(ToFirstChar("汉字转换为拼音").toUpperCase()); //转为首字母大写
20         System.out.println(ToPinyin("汉字转换为拼音")); 
21     }
22     /**
23      * 获取字符串拼音的第一个字母
24      * @param chinese
25      * @return
26      */
27     public static String ToFirstChar(String chinese){         
28         String pinyinStr = "";  
29         char[] newChar = chinese.toCharArray();  //转为单个字符
30         HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat(); 
31         defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);  
32         defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);  
33         for (int i = 0; i < newChar.length; i++) {  
34             if (newChar[i] > 128) {  
35                 try {  
36                     pinyinStr += PinyinHelper.toHanyuPinyinStringArray(newChar[i], defaultFormat)[0].charAt(0);  
37                 } catch (BadHanyuPinyinOutputFormatCombination e) {  
38                     e.printStackTrace();  
39                 }  
40             }else{  
41                 pinyinStr += newChar[i];  
42             }  
43         }  
44         return pinyinStr;  
45     }  
46    
47     /**
48      * 汉字转为拼音
49      * @param chinese
50      * @return
51      */
52     public static String ToPinyin(String chinese){          
53         String pinyinStr = "";  
54         char[] newChar = chinese.toCharArray();  
55         HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();  
56         defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);  
57         defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);  
58         for (int i = 0; i < newChar.length; i++) {  
59             if (newChar[i] > 128) {  
60                 try {  
61                     pinyinStr += PinyinHelper.toHanyuPinyinStringArray(newChar[i], defaultFormat)[0];  
62                 } catch (BadHanyuPinyinOutputFormatCombination e) {  
63                     e.printStackTrace();  
64                 }  
65             }else{  
66                 pinyinStr += newChar[i];  
67             }  
68         }  
69         return pinyinStr;  
70     }  
71 }

 

   作者:itRed
   出处:http://itred.cnblogs.com
   版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段说明,且在文章明显位置给出原文链接,否则保留追究法律责任的权利。

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Java实现单词计数MapReduce
本文分享实现单词计数MapReduce的方法
0 0
JAVA 实现上传图片添加水印(详细版)(上)
JAVA 实现上传图片添加水印(详细版)
0 0
Java 实现汉字按照首字母分组排序
Java 实现汉字按照首字母分组排序
0 0
Java实现图书管理系统
本篇文章是对目前Java专栏已有内容的一个总结练习,希望各位小主们在学习完面向对象的知识后,可以阅览本篇文章后,自己也动手实现一个这样的demo来加深总结应用已经学到知识并进行巩固。
0 0
java实现spring boot项目启动时,重启Windows进程
java实现spring boot项目启动时,重启Windows进程
0 0
Java实现拼图小游戏(1)—— JFrame的认识及界面搭建
如果要在某一个界面里面添加功能的话,都在一个类中,会显得代码难以阅读,而且修改起来也会很困难,所以我们将游戏主界面、登录界面、以及注册界面都单独编成一个类,每一个类都继承JFrame父类,并且在类中创建方法来来实现页面
0 0
Java网络编程:UDP/TCP实现实时聊天、上传图片、下载资源等
ip地址的分类: 1、ipv4、ipv6 127.0.0.1:4个字节组成,0-255,42亿;30亿都在北美,亚洲就只有4亿 2011年就用尽了。
0 0
Java实现拼图小游戏(7)—— 计步功能及菜单业务的实现
注意由于我们计步功能的步数要在重写方法中用到,所以不能将初始化语句写在方法体内,而是要写在成员位置。在其名字的时候也要做到“见名知意”,所以我们给它起名字为step
0 0
Java实现拼图小游戏(7)—— 作弊码和判断胜利
当我们好不容易把拼图复原了,但是一点提示也没有,完全看不出来是成功了,那么我们就需要有判断胜利的功能去弹出“成功”类的图片,以便于玩家选择是重新开始还是退出小游戏
0 0
Java实现拼图小游戏(7)——查看完整图片(键盘监听实例2)
由于在移动和图片中我们已经添加了键盘监听,也继承了键盘监听的接口,那么我们只需要在重写方法内输入我们的代码即可
0 0
+关注
杰克.陈
一个安静的程序猿~
文章
问答
文章排行榜
最热
最新
相关电子书
更多
JAVA 应用排查全景图
立即下载
Java工程师必读手册
立即下载
Java应用提速(速度与激情)
立即下载