A. java可以通过汉字得到带声调的拼音吗
char[] ch = "汉字".toCharArray();
String[] pinyinHead = PinyinHelper.toHanyuPinyinStringArray(ch[0]);
B. java如何实现拼音首字母检索汉字
使用pinyin4j或者jpinyin的,先将汉字转换为拼音,然后记录拼音的首字母,具体的检索过程可以用循环过滤,也可以用前缀树 比如tire树
参考链接:
网页链接java实现汉字转拼音
网页链接tire树
C. JAVA实现把汉字转化成拼音
这个理论上来说是可以的,你可以用一本字典来当数据库,进行比对,来读取汉字的读音然后进行转换。但是做起来未免就很麻烦,当然办法肯定比问题多,希望楼主能找到个好办法,共同分享。
D. java怎么读,是什么意思啊
java [ 'dʒɑ:və ]
n.
java(程序设计语言)
java(意大利自行车品牌)
java(印度尼西亚爪哇岛)
读音:甲哇,拼音:jia'fwa
E. java中进行拼音排序的时候,如何进行多音字处理!最好能举个例子!
如果这种情况不和很多的话,可以使用replaceall("重庆","cq")进行替换。如果太多了话就。能版想到的办法就是做一个权词组表,用来进行替换。如果有好的建议,欢迎讨论。
获取汉字拼音的常规办法就是pinyin4j。这个网络下,没什么问题。
使用pinyin4j的思路,做出一张多音字词组表。根据词组表替换成正确的字母首拼,之后再进行pinyin4j进行转换
F. JAVA如何实现拼音排序
Java代码
importjava.util.Arrays;
importjava.util.Comparator;
importnet.sourceforge.pinyin4j.PinyinHelper;
publicclassPinYinSort{
publicstaticvoidmain(String[]args){
String[]arr={"王二六","张三","李四","王五","赵六","JAVA","123","怡情"};
Arrays.sort(arr,newComparatorPinYin());
for(Stringstring:arr){
System.out.println(string);
}
}
/**
*功能:实现汉语拼音序比较
*
*/
<String>{
@Override
publicintcompare(Stringo1,Stringo2){
returnToPinYinString(o1).compareTo(ToPinYinString(o2));
}
privateStringToPinYinString(Stringstr){
StringBuildersb=newStringBuilder();
String[]arr=null;
for(inti=0;i<str.length();i++){
arr=PinyinHelper.toHanyuPinyinStringArray(str.charAt(i));
if(arr!=null&&arr.length>0){
for(Stringstring:arr){
sb.append(string);
}
}
}
returnsb.toString();
}
}
}
G. java输入汉语拼音,输出匹配的汉字!
一般都是这样的
ID 中文 拼音 拼音缩写 使用频率
1 视频 shipin sp 100
2 食品 shipin sp 80
3 游戏 youxi yx 151
4 伤不起内 shangbuqi sbq 200
后台搜索的时候 中文,拼容音,拼音缩写都要搜,只要开始部分符合,就按使用频率排序输出到前台,一般是前10个,每被选择一次,使用频率加1
H. java 怎么将拼音转换为汉字
一个来汉字 只对应 一个拼源音 ,但是一个拼音是对应多个汉字的, 你想要的功能,就好像一个输入法,输入一堆拼音,显示对应的汉字。这个我不知道,有没有输入法提供这样的接口,简单点就是这样,但是复杂点,根据你输入的拼音显示出足够智能的汉字,这不简单。java有把汉字转拼音的架包,不是拼音转汉字
I. java应该怎么念
java的读音是[ˈjɑ:vɑ]。
Java是一门纯粹的面向对象的高级的平台无关的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承,指针等概念。Java是由Sun Microsystems公司于1995年推出的一门面向对象程序设计语言,JAVA就是一种高级语言。
java的特点:
Java语言是支持封装,继承,多态和面向对象的编程语言,这使得程序只有很少的耦合,能够更具凝聚力。每个模块都执行自己的功能,不会通过公共接口相互干扰。
从首次发布开始Java就跃到了Internet编程的前沿。后续的每一个版本都进一步巩固了这一地位。如今,Java依然是开发基于Web的应用程序的最佳选择。此外Java还是智能手机变革的推手,Android编程采用的就是Java语言。
J. java如何获取汉字的拼音字母
获取首字母需要对汉字表和字母表进行映射,如下示例代码是以gb2312编码为入手点,进行匹配的,也可以使用gbk、utf-8等编码进行匹配,但代码就完全不同了。
示例代码如下:
public class FirstLetterUtils {
// 简体中文的编码范围从B0A1(45217)一直到F7FE(63486)
private static int BEGIN = 45217;
private static int END = 63486;
// 按照声 母表示,这个表是在GB2312中的出现的第一个汉字,也就是说“啊”是代表首字母a的第一个汉字。
// i, u, v都不做声母, 自定规则跟随前面的字母
private static char[] chartable = { '啊', '芭', '擦', '搭', '蛾', '发', '噶', '哈', '哈', '击', '喀', '垃', '妈', '拿', '哦', '啪', '期', '然', '撒', '塌', '塌', '塌', '挖', '昔', '压', '匝', };
// 二十六个字母区间对应二十七个端点
// GB2312码汉字区间十进制表示
private static int[] table = new int[27];
// 对应首字母区间表
private static char[] initialtable = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'h', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 't', 't', 'w', 'x', 'y', 'z', };
// 初始化
static {
for (int i = 0; i < 26; i++) {
table[i] = gbValue(chartable[i]);// 得到GB2312码的首字母区间端点表,十进制。
}
table[26] = END;// 区间表结尾
}
// ------------------------public方法区------------------------
// 根据一个包含汉字的字符串返回一个汉字拼音首字母的字符串 最重要的一个方法,思路如下:一个个字符读入、判断、输出
public static String cn2py(String SourceStr) {
String Result = "";
int StrLength = SourceStr.length();
int i;
try {
for (i = 0; i < StrLength; i++) {
Result += Char2Initial(SourceStr.charAt(i));
}
} catch (Exception e) {
Result = "";
e.printStackTrace();
}
return Result;
}
// ------------------------private方法区------------------------
/**
* 输入字符,得到他的声母,英文字母返回对应的大写字母,其他非简体汉字返回 '0' *
*/
private static char Char2Initial(char ch) {
// 对英文字母的处理:小写字母转换为大写,大写的直接返回
if (ch >= 'a' && ch <= 'z') {
return (char) (ch - 'a' + 'A');
}
if (ch >= 'A' && ch <= 'Z') {
return ch;
}
// 对非英文字母的处理:转化为首字母,然后判断是否在码表范围内,
// 若不是,则直接返回。
// 若是,则在码表内的进行判断。
int gb = gbValue(ch);// 汉字转换首字母
if ((gb < BEGIN) || (gb > END))// 在码表区间之前,直接返回
{
return ch;
}
int i;
for (i = 0; i < 26; i++) {// 判断匹配码表区间,匹配到就break,判断区间形如“[,)”
if ((gb >= table[i]) && (gb < table[i + 1])) {
break;
}
}
if (gb == END) {// 补上GB2312区间最右端
i = 25;
}
return initialtable[i]; // 在码表区间中,返回首字母
}
/**
* 取出汉字的编码 cn 汉字
*/
private static int gbValue(char ch) {// 将一个汉字(GB2312)转换为十进制表示。
String str = new String();
str += ch;
try {
byte[] bytes = str.getBytes("GB2312");
if (bytes.length < 2) {
return 0;
}
return (bytes[0] << 8 & 0xff00) + (bytes[1] & 0xff);
} catch (Exception e) {
return 0;
}
}
public static void main(String[] args) throws Exception {
System.out.println(cn2py("这是一个获取首字母的class"));
}
}