public class GetCh2Spell
{
public static int compare(String str1, String str2)
{
int result = 0;
String m_s1 = null;
String m_s2 = null;
try
{
m_s1 = new String(str1.getBytes(_FromEncode_), _ToEncode_);
m_s2 = new String(str2.getBytes(_FromEncode_), _ToEncode_);
}
catch(Exception e)
{
return str1.compareTo(str2);
}
result = chineseCompareTo(m_s1, m_s2);
return result;
}
public static int getCharCode(String s)
{
if(s == null && s.equals(""))
return -1;
byte b[] = s.getBytes();
int value = 0;
for(int i = 0; i < b.length && i <= 2; i++)
value = value * 100 + b[i];
return value;
}
public static int chineseCompareTo(String s1, String s2)
{
int len1 = s1.length();
int len2 = s2.length();
int n = Math.min(len1, len2);
for(int i = 0; i < n; i++)
{
int s1_code = getCharCode(s1.charAt(i) + "");
int s2_code = getCharCode(s2.charAt(i) + "");
if(s1_code * s2_code < 0)
return Math.min(s1_code, s2_code);
if(s1_code != s2_code)
return s1_code - s2_code;
}
return len1 - len2;
}
public static String getBeginCharacter(String res)
{
String a = res;
String result = "";
for(int i = 0; i < a.length(); i++)
{
String current = a.substring(i, i + 1);
if(compare(current, "\u554A") < 0)
result = result + current;
else
if(compare(current, "\u554A") >= 0 && compare(current, "\u5EA7") <= 0)
if(compare(current, "\u531D") >= 0)
result = result + "z";
else
if(compare(current, "\u538B") >= 0)
result = result + "y";
else
if(compare(current, "\u6614") >= 0)
result = result + "x";
else
if(compare(current, "\u6316") >= 0)
result = result + "w";
else
if(compare(current, "\u584C") >= 0)
result = result + "t";
else
if(compare(current, "\u6492") >= 0)
result = result + "s";
else
if(compare(current, "\u7136") >= 0)
result = result + "r";
else
if(compare(current, "\u671F") >= 0)
result = result + "q";
else
if(compare(current, "\u556A") >= 0)
result = result + "p";
else
if(compare(current, "\u54E6") >= 0)
result = result + "o";
else
if(compare(current, "\u62FF") >= 0)
result = result + "n";
else
if(compare(current, "\u5988") >= 0)
result = result + "m";
else
if(compare(current, "\u5783") >= 0)
result = result + "l";
else
if(compare(current, "\u5580") >= 0)
result = result + "k";
else
if(compare(current, "\u51FB") > 0)
result = result + "j";
else
if(compare(current, "\u54C8") >= 0)
result = result + "h";
else
if(compare(current, "\u5676") >= 0)
result = result + "g";
else
if(compare(current, "\u53D1") >= 0)
result = result + "f";
else
if(compare(current, "\u86FE") >= 0)
result = result + "e";
else
if(compare(current, "\u642D") >= 0)
result = result + "d";
else
if(compare(current, "\u64E6") >= 0)
result = result + "c";
else
if(compare(current, "\u82AD") >= 0)
result = result + "b";
else
if(compare(current, "\u554A") >= 0)
result = result + "a";
}
return result;
}
public static String getFirstStr(String str)
{
char a = str.charAt(0);
char aa[] = {
a
};
String sss = new String(aa);
if(Character.isDigit(aa[0]))
sss = "data";
else
if(a >= 'a' && a <= 'z' || a >= 'A' && a <= 'Z')
sss = "character";
else
sss = getBeginCharacter(sss);
return sss;
}
private static String _FromEncode_ = "GBK";
private static String _ToEncode_ = "GBK";
}
{
public static int compare(String str1, String str2)
{
int result = 0;
String m_s1 = null;
String m_s2 = null;
try
{
m_s1 = new String(str1.getBytes(_FromEncode_), _ToEncode_);
m_s2 = new String(str2.getBytes(_FromEncode_), _ToEncode_);
}
catch(Exception e)
{
return str1.compareTo(str2);
}
result = chineseCompareTo(m_s1, m_s2);
return result;
}
public static int getCharCode(String s)
{
if(s == null && s.equals(""))
return -1;
byte b[] = s.getBytes();
int value = 0;
for(int i = 0; i < b.length && i <= 2; i++)
value = value * 100 + b[i];
return value;
}
public static int chineseCompareTo(String s1, String s2)
{
int len1 = s1.length();
int len2 = s2.length();
int n = Math.min(len1, len2);
for(int i = 0; i < n; i++)
{
int s1_code = getCharCode(s1.charAt(i) + "");
int s2_code = getCharCode(s2.charAt(i) + "");
if(s1_code * s2_code < 0)
return Math.min(s1_code, s2_code);
if(s1_code != s2_code)
return s1_code - s2_code;
}
return len1 - len2;
}
public static String getBeginCharacter(String res)
{
String a = res;
String result = "";
for(int i = 0; i < a.length(); i++)
{
String current = a.substring(i, i + 1);
if(compare(current, "\u554A") < 0)
result = result + current;
else
if(compare(current, "\u554A") >= 0 && compare(current, "\u5EA7") <= 0)
if(compare(current, "\u531D") >= 0)
result = result + "z";
else
if(compare(current, "\u538B") >= 0)
result = result + "y";
else
if(compare(current, "\u6614") >= 0)
result = result + "x";
else
if(compare(current, "\u6316") >= 0)
result = result + "w";
else
if(compare(current, "\u584C") >= 0)
result = result + "t";
else
if(compare(current, "\u6492") >= 0)
result = result + "s";
else
if(compare(current, "\u7136") >= 0)
result = result + "r";
else
if(compare(current, "\u671F") >= 0)
result = result + "q";
else
if(compare(current, "\u556A") >= 0)
result = result + "p";
else
if(compare(current, "\u54E6") >= 0)
result = result + "o";
else
if(compare(current, "\u62FF") >= 0)
result = result + "n";
else
if(compare(current, "\u5988") >= 0)
result = result + "m";
else
if(compare(current, "\u5783") >= 0)
result = result + "l";
else
if(compare(current, "\u5580") >= 0)
result = result + "k";
else
if(compare(current, "\u51FB") > 0)
result = result + "j";
else
if(compare(current, "\u54C8") >= 0)
result = result + "h";
else
if(compare(current, "\u5676") >= 0)
result = result + "g";
else
if(compare(current, "\u53D1") >= 0)
result = result + "f";
else
if(compare(current, "\u86FE") >= 0)
result = result + "e";
else
if(compare(current, "\u642D") >= 0)
result = result + "d";
else
if(compare(current, "\u64E6") >= 0)
result = result + "c";
else
if(compare(current, "\u82AD") >= 0)
result = result + "b";
else
if(compare(current, "\u554A") >= 0)
result = result + "a";
}
return result;
}
public static String getFirstStr(String str)
{
char a = str.charAt(0);
char aa[] = {
a
};
String sss = new String(aa);
if(Character.isDigit(aa[0]))
sss = "data";
else
if(a >= 'a' && a <= 'z' || a >= 'A' && a <= 'Z')
sss = "character";
else
sss = getBeginCharacter(sss);
return sss;
}
private static String _FromEncode_ = "GBK";
private static String _ToEncode_ = "GBK";
}
相关推荐
java中根据汉字字符串获取拼音首字母工具类
汉字转拼音工具类
[工具类] 获得汉字拼音首字母的java工具类.java.txt [工具类] 获取绝对路径 .java.txt [工具类] 记录log日志文件的工具类 .java.txt [工具类] 连接数据库的工具类 .java.txt [工具类] 使用Java程序来实现HTTP文件的...
[工具类] 获得汉字拼音首字母的java工具类.java.txt [工具类] 获取绝对路径 .java.txt [工具类] 记录log日志文件的工具类 .java.txt [工具类] 连接数据库的工具类 .java.txt [工具类] 使用Java程序来实现HTTP文件的...
Java汉字转换为拼音工具类 汉字转换为拼音包括全拼、首字母缩写;全拼可计算出多音字。
[工具类] 获得汉字拼音首字母的java工具类 .java [工具类] 获取绝对路径 .java [工具类] 记录log日志文件的工具类 .java [工具类] 连接数据库的工具类 .java [工具类] 使用Java程序来实现HTTP文件的队列下载 ....
本文实例讲述了Java编程实现中英混合字符串数组按首字母排序的方法。分享给大家供大家参考,具体如下: 在Java中对于字符串数组的排序,我们可以使用Arrays.sort(String[])方法很便捷的进行排序。例如: String[]...
PingYinUtil 拼音工具类java 将字符串中的中文转化为拼音,其他字符不变 获取汉字串拼音首字母,英文字符不变 获取汉字串拼音,英文字符不变
在web开发中使用,将多个汉字转成首字母大写的汉语拼音,直接将三个文件夹放到src下或打成jar,调用即可, 包含测试类
主要功能:将汉字转换成拼音工具类
java中针对汉字的操作中有时需要对汉字进行转换成拼音,改工具类主要对汉字进行转换。
获取汉字的拼音首字母工具类,对其进行封装满足项目开发使用.
实现汉字转拼音,还可以得到汉字的首写字母,支持上万个汉字的转化(包括多音字),一个很好的java工具类,附带多音字词汇表。
将汉字转化成拼音的工具类,包括全拼和首字母拼音等。内含一个Java工具类和一个TXT文本
* 获取汉字串拼音首字母,英文字符不变 * @param chinese 汉字串 * @return 汉语拼音首字母 */ public static String getFirstSpell(String chinese) { StringBuffer pybf = new StringBuffer(); char...
通过java实现将汉字或词语转化为完整拼音的小demo,非常实用方便快捷,快来下载吧,这个还是非常不错的啊!
排序工具类,提供如下功能: 1. 按时间降序排序,按时间升序排序。 2. 按版本降序排序。 3. 分组内容按大小排序。...9. 联系人按照汉字拼音首字母排序。 10. apk按照版本号降序排序。 功能齐全,物超所值。欢迎下载
java工具类_99%以上的汉字转化为全拼/拼音的第一个字符
汉子转换成拼音工具类,包括把汉字转换成首字母大写的全拼字母,把汉字转换成小写的简拼,支持多音字符的转换以及是否带声调
比如要查询“曹孟德”,就可以输入“cmd”,即“曹孟德”三个汉字的拼音“caomengde”各字的首字母。但是怎样才能将“曹孟德”翻译成“caomengde”呢?很简单的办法就是建立一个大的对照表(比如用关联容器Map),比如...