- 浏览: 274334 次
文章分类
最新评论
-
羽风之扬:
crazydayu 写道您好,我在启动的时候也遇到了这种错误, ...
linux tomcat日志错误Cannot run without an instance id & java.net.UnknownHostExceptio -
羽风之扬:
我的也[是这用错误,改过后没效果。这是我的截图,麻烦帮我看下吧 ...
linux tomcat日志错误Cannot run without an instance id & java.net.UnknownHostExceptio -
hamizhong:
...
Linux和Python脚本自动部署应用一例(2) -
crazydayu:
您好,我在启动的时候也遇到了这种错误,但是加上127.0.0. ...
linux tomcat日志错误Cannot run without an instance id & java.net.UnknownHostExceptio -
lg327969713:
wx_hello 写道你好,请教下,这个链接要配置ODBC数据 ...
Java连接FoxPro6.0数据库(测试)
工作中有时碰到将中文名转换成首字母拼音书写。以前工作电脑故障,资料尽失,这里补充回一点,
参考网站:http://pinyin4j.sourceforge.net/,当前版本: pinyin4j 2.5.0
关键是知道有这么个开源jar包可以使用,没有什么特别的,使用起来很简单,代码中使用一点小算法。
package com.pinying.demo; import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; import net.sourceforge.pinyin4j.PinyinHelper; /** * Chinese character convert to Pinyin(include tongying character combine), return String Array * Description: Previously documented, computer failure, all data is lost, now slowly accumulated * @author zhaoxiaobo Dennis Email: zxbxiaobo@sina.com * @createdTime:2012-11-27 */ public class PinyinDemo { private static Set<String> set = new HashSet<String>(0); private static int NUMNER = 0; private static String CHINESE_CHAR = "给予你长久的力量";//test data // private static String CHINESE_CHAR = "黄长恩";//test data // private static String CHINESE_CHAR = "赵晓波";//test data // private static String CHINESE_CHAR = "胡胜利";//test data // private static String CHINESE_CHAR = "张三丰";//test data static { NUMNER = CHINESE_CHAR.length(); } public static void main(String[] args) { // List<List<String>> lists = new ArrayList<List<String>>(0); // List<String> list = new ArrayList<String>(0); // list.add("a"); // list.add("b"); // lists.add(list); // List<String> list1 = new ArrayList<String>(0); // list1.add("c"); // list1.add("d"); // lists.add(list1); // List<String> list2 = new ArrayList<String>(0); // list2.add("e"); // list2.add("f"); // lists.add(list2); // List<String> list3 = new ArrayList<String>(0); // list3.add("g"); // list3.add("h"); // lists.add(list3); generateData(getFirstCharFromString(CHINESE_CHAR), new ArrayList<String>(0)); Iterator<String> it = set.iterator(); while (it.hasNext()) { System.out.println(it.next()); } } /** * 获取一段中文字符拼音首字母的(包括多音字的组合)数组 * getFirstCharFromString * @param str * @return * @return the List<List<String>> */ public static List<List<String>> getFirstCharFromString(String str) { List<List<String>> rets = new ArrayList<List<String>>(0); if (null != str && !"".equals(str.trim())) { int len = str.trim().length(); char chr = ' '; for (int i = 0; i < len; i++) { Set<String> set = new HashSet<String>(0); chr = str.charAt(i); if (0x4E00 <= chr && chr <= 0x9FA5) { String[] arr = PinyinHelper.toHanyuPinyinStringArray(chr); for (String string : arr) { set.add(string.toUpperCase().charAt(0) + ""); } } else { set.add(chr + ""); } List<String> list = new ArrayList<String>(0); Iterator<String> it = set.iterator(); while (it.hasNext()) { list.add(it.next()); } rets.add(list); } } else { System.out.println("null value ...."); } return rets; } /** * 生成最终的数组组合数据根据排列组合算法 * generateData * @param source * @param target * @return the void */ public static void generateData(List<List<String>> source, List<String> target) { StringBuilder sb = new StringBuilder(); if (target.size() == NUMNER) { for (String string : target) { sb.append(string); } set.add(sb.toString()); return; } //{{'a','b'},{'c','d'},{'e','f'}} for (List<String> list : source) { List<List<String>> newSource = new ArrayList<List<String>>(source); List<String> newTarget = new ArrayList<String>(target); newSource.remove(list); for (String str : list) { newTarget.add(str); generateData(newSource, newTarget); newTarget.remove(str); } break; } } }
发表评论
-
java多线程共享对象切换标志
2018-01-06 16:29 468直接上题: 要求创建三个线程,输出 ... -
编译时和运行时顺序输出笔记记录
2017-12-28 14:12 439package com.dennis.test.init; ... -
Java记事本二
2017-12-28 13:45 493//下面代码为两组分类示例 private sta ... -
mongodb在Java环境下简单使用
2015-09-16 18:42 1293mongodb在Java环境下简单使用,简单记录,简单增删查 ... -
Tomcat7+Nginx1.8+Redis2.6负载均衡简单配置
2015-09-06 16:13 1298为了缓解因为Web服务器的session所 ... -
Java简易cglib代码实现方式(AOP)
2015-05-25 17:12 976CGLIB(Code Generation Library) ... -
linux tomcat日志错误Cannot run without an instance id & java.net.UnknownHostExceptio
2015-03-14 17:51 4966linux环境下面出现这种问题(而windows下面可 ... -
quartz集群分布式(并发)部署解决方案-Spring
2015-03-14 17:37 5260项目中使用分布式并发部署定时任务,多台跨JVM,按照常理逻 ... -
redis基本命令、配置参数 - 简单示例(sub/pub)
2014-10-11 18:12 2580(一) redis命令集功能分析 转(htt ... -
计算机原码、反码、补码、位移码
2014-09-16 11:03 770计算机原码、反码、补 ... -
内螺旋数组java实现
2014-09-15 23:14 812最初学习C语言时,看到国外程序员的内螺旋实现,都懵了,感觉 ... -
排列组合
2013-10-17 20:58 0package org.dennis; import ... -
排列组合基本算法
2013-09-03 10:33 0import java.util.ArrayList; i ... -
动态反射代理实现机制两例代码比较(二)
2013-03-29 14:52 1041动态反射代理实现机制两例代码比较,最近研究设计 ... -
动态反射代理实现机制两例代码比较(一)
2013-03-29 14:31 959动态反射代理实现机制两例代码比较,最近研究设计 ... -
解决一例Was8.0异常java.lang.reflect.InvocationTargetException
2013-03-21 19:08 5422... -
Java工作记事本
2012-11-20 11:00 1189工作始终会遇到很多需要收集的资料,时间长了,难免 ... -
学习Jnotify文件监视
2012-10-09 15:28 2409学习Jnotify文件监视用例 研究文件监视(Win ... -
POI study
2012-09-19 13:52 2500工作需要研究POI技术导出Excel格式,目前实验 ... -
找出随机抽查数字
2012-08-16 16:50 1009闲来无事,做一个简单随机查找数字小程序,闲的发慌,因为具体 ...
相关推荐
这里我们以Pinyin4j为例,它是一个开源的Java库,专门用于处理汉字和拼音的转换。 1. 引入Pinyin4j库: 首先,你需要将Pinyin4j库添加到你的项目中。如果你的项目是Maven项目,可以在pom.xml文件中添加以下依赖: ...
以Pinyin4j为例,这是一个广泛使用的Java库,它提供了简单易用的API来处理汉字转拼音的任务。 首先,我们需要在项目中引入Pinyin4j库。这可以通过Maven或Gradle的依赖管理来完成。例如,在Maven的pom.xml文件中添加...
本文将深入探讨如何使用Java中文转拼音工具类,以`pinyin4j`为例,介绍其实现原理和具体用法。 `pinyin4j`是一个开源的Java库,专门用于处理汉字与拼音之间的转换。它提供了多种输出格式,包括声调、大小写等,能够...
这里,我们主要讨论“中文转换为拼音”这一技术,并以提供的资源为例进行解析。 首先,`pinyin4j-2.5.0.jar` 是一个Java库,专门用于处理汉字到拼音的转换。Pinyin4j 是一个开源项目,它提供了丰富的API,能够方便...
这个"Android汉字转拼音Demo"就是这样一个示例项目,它演示了如何在Android应用中实现汉字到拼音的转换。这个过程通常涉及到第三方库的使用,本例中采用的是`pinyin4j.jar`。 `pinyin4j.jar`是一个Java库,专门用于...
总的来说,拼音4j是一个强大且易于使用的Java库,可以帮助开发人员方便地实现汉字到拼音的转换。通过理解并应用以上代码示例,你可以轻松地在自己的项目中实现类似功能,从而提高处理汉字文本的效率。
以Pinyin4j为例,这是一个常用的Java库,它支持多音字的处理,可以返回每个汉字的标准拼音、首字母、声母、韵母等多种形式。使用Pinyin4j,我们只需要引入对应的jar包到项目中,然后通过以下方式调用: ```java ...
这种映射关系通常基于词典或者特定的算法,例如Pinyin4j库在Java中的实现,或本例中的C++实现。 `TestHZToPY.cpp`是项目的主程序文件,其中包含了实现汉字转拼音功能的核心代码。可能包含以下关键部分: 1. **汉字...
在这个例子中,我们使用了第三方库`PinyinHelper`来进行拼音转换。这个库可以将汉字转换成对应的拼音,然后提取首字母。 接下来,我们讨论如何获取汉字的拼音。Java标准库并未提供直接的汉字转拼音功能,因此通常...
本篇将详细讲解汉字转拼音的基本原理、常见方法以及如何利用Java实现这一功能。 首先,汉字转拼音的基本原理涉及到汉字与汉语拼音的对应关系。每个汉字都有一个或多个标准的汉语拼音,这些拼音由声母(如b、p、m、f...
这里以Pinyin4j为例,它是一个用于Java的中文拼音处理库,能够将汉字转换为拼音。 首先,添加Pinyin4j库到项目中。如果你的项目是Maven工程,可以在pom.xml文件中添加以下依赖: ```xml <groupId>...
以Python的`pypinyin`库为例,使用该库可以这样实现取拼音首字母的功能: ```python from pypinyin import pinyin, lazy_pinyin, Style def get_initials(name): return ''.join([i[0][0].upper() for i in lazy_...
Java非对称加密源码实例 1个目标文件 摘要:Java源码,算法相关,非对称加密 Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。 设定字符串为“张三,你好,我是李四”...
在本例中,我们将讨论的是Elasticsearch 6.8.3版本下的拼音分词插件的安装和使用。 **一、插件介绍** "elasticsearch-analysis-pinyin-6.8.3.jar" 是这个拼音分词插件的核心文件,它提供了将中文字符转换为拼音的...
这里以Pinyin4j为例,它是一个Java库,可以将汉字转换为拼音。首先,需要将Pinyin4j库导入项目,然后可以使用如下代码将汉字转换为拼音: ```java import net.sourceforge.pinyin4j.PinyinHelper; public static ...
3. **拼音转换**:在Java中,你可以使用`Pinyin4j`库或者Android内置的`TextUtils`类的`getChars()`方法,将中文字符串转换为拼音。转换后的拼音将用于排序。 4. **获取首字母**:转换得到拼音后,需要提取每个单词...
源码可能包含了拼音转换为汉字的算法、候选词的生成逻辑、以及用户交互界面的设计。 压缩包内的文件“cndoc”可能是源代码文件、文档或项目资源的集合。如果是一个源代码文件,可能包含了用C++、Java、Python等编程...
描述中提到的43个jar包覆盖了多种功能,包括处理JSON数据、经纬度转换、字符串转拼音以及WebSocket通信等,这些都是Java开发中常见的需求。 首先,让我们详细了解一下这些关键知识点: 1. **fastjson**: Fastjson...
这里以`PinyinHelper`为例,它能将汉字转换为对应的拼音,然后提取首字母,供排序和索引使用。首先,确保在项目中添加`PinyinHelper`的依赖,然后在获取拼音首字母的逻辑中调用`PinyinHelper`的方法: ```java ...
在本例中,问题在于一个`s:any`元素的`minOccurs`和`maxOccurs`属性设置不正确。修正后,重新运行`wsimport`命令,这次应该能成功生成Web服务代理类。生成的代码位于指定的目录下,其中包含了与接口通信所需的Java类...