‘壹’ java 汉字首字母排序
我知道用java可以通过汉字的获得到首字母。下面是源码:
import net.sourceforge.pinyin4j.PinyinHelper;
public class PinyinAPI {
/**
* 提取每个汉字的首字母(大写)
*
* @param str
* @return
*/
public static String getPinYinHeadChar(String str) {
if (isNull(str)) {
return "";
}
String convert = "";
for (int j = 0; j < str.length(); j++) {
char word = str.charAt(j);
// 提取汉字的首字母
String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);
if (pinyinArray != null) {
convert += pinyinArray[0].charAt(0);
}
else {
convert += word;
}
}
convert = string2AllTrim(convert);
return convert.toUpperCase();
}
/*
* 判断字符串是否为空
*/
public static boolean isNull(Object strData) {
if (strData == null || String.valueOf(strData).trim().equals("")) {
return true;
}
return false;
}
/**
* 去掉字符串包含的所有空格
*
* @param value
* @return
*/
public static String string2AllTrim(String value) {
if (isNull(value)) {
return "";
}
return value.trim().replace(" ", "");
}
public static void main(String[] args) {
String ss = PinyinAPI.getPinYinHeadChar("中国");
System.out.print(ss);//ZG
}
}
‘贰’ java 中文姓名排序!!!
import java.util.*;
import java.text.*;
public class SortByChinese {
//测试
public static void main(String[] args) {
String[] a1 = {"保定","何子安","于小云","刘帝","刘何保定子安","刘","刘娜","家强","刘博"};
getSortOfChinese(a1);
for (int i = 0; i < a1.length; i++) {
System.out.println(a1[i]);
}
}
/**
*
* @param a String[]
* @return String[]
*/
public static String[] getSortOfChinese(String[] a) {
// Collator 类是用来执行区分语言环境这里使用CHINA
Comparator cmp = Collator.getInstance(java.util.Locale.CHINA);
// JDKz自带对数组进行排序。
Arrays.sort(a, cmp);
return a;
}
}
自己测试哦!
‘叁’ java 中文一,二,到十,怎么排序
如果按照数据库自己排序,会按照中文的拼音进行排序(A-Z)有实验过。如果要实现楼主这样的功能。我建议,增加两个字段,分别是等级(level,最好是约定一个与A级B级对应的数字,如A级填1)、班级号(classno,班级 填,1,2,3代表1班2班3班),两个字段就可以确定一个班级。然后SQL语句为 select 查询的内容 from 表名 order by level,classno (先按level,后按classno排序)
‘肆’ Java怎么按照汉字字典顺序给字符串排序
//按照中文第一个字母升序排列的实现
import java.text.Collator;
import java.util.Arrays;
import java.util.Comparator;
public class test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Comparator<Object> com=Collator.getInstance(java.util.Locale.CHINA);
String[] newArray={"上海","天津","广州","杭州","辽宁","南京","武汉","北京","厦门","内蒙"};
Arrays.sort(newArray,com);
for(String i:newArray){
System.out.print(i+" ");
}
}
}
‘伍’ 求一个JAVA的汉字排序程序。。。
对汉字是按拼音排序的,示例:import java.util.*;
import java.text.*;public class Test{
public static void main(String args[]) {
//Comparator cmp = (RuleBasedCollator)java.text.Collator.getInstance(java.util.Locale.CHINA);//try testing various locales
Comparator cmp = java.text.Collator.getInstance(java.util.Locale.CHINA);//try testing various locales
String[] arr = {"张三", "李四", "张", "王"};
java.util.Arrays.sort(arr, cmp);
for (int i = 0; i < arr.length; i++)
System.out.println(arr[i]);
Comparator cmp2 = java.text.Collator.getInstance();//try default locale
String[] arr2 = {"我", "是", "草", "吗"};
java.util.Arrays.sort(arr2, cmp2);
for (int i = 0; i < arr2.length; i++)
System.out.println(arr2[i]);
}
}
‘陆’ Java中如何实现中文排序
publicclassSortByChinese{
//测试
publicstaticvoidmain(String[]args){
String[]a1={"保定","何子安","于小云","刘帝","刘何保定子安","刘","刘娜","家强","刘博"};
getSortOfChinese(a1);
for(inti=0;i<a1.length;i++){
System.out.println(a1[i]);
}
}
/**
*
*@paramaString[]
*@returnString[]
*/
publicstaticString[]getSortOfChinese(String[]a){
//Collator类是用来执行区分语言环境这里使用CHINA
Comparatorcmp=Collator.getInstance(java.util.Locale.CHINA);
//JDKz自带对数组进行排序。
Arrays.sort(a,cmp);
returna;
}
}publicclassSortByChinese{
//测试
publicstaticvoidmain(String[]args){
String[]a1={"小二","张三","李四","王五","刘七"};
getSortOfChinese(a1);
for(inti=0;i<a1.length;i++){
System.out.println(a1[i]);
}
}
/**
*
*@paramaString[]
*@returnString[]
*/
publicstaticString[]getSortOfChinese(String[]a){
//Collator类是用来执行区分语言环境这里使用CHINA
Comparatorcmp=Collator.getInstance(java.util.Locale.CHINA);
//Arrays工具类对数组进行排序。
Arrays.sort(a,cmp);
returna;
}
}
试试对你的问题是否有用
‘柒’ Java编程中怎样实现中文排序
简单的实现排序,可以参考如下的代码
importjava.text.Collator;
importjava.util.Arrays;
importjava.util.Comparator;
importjava.util.Locale;
publicclassPYDemo{
publicstaticvoidmain(String[]args){
String[]names={"赵z子z龙l","刘l备b","关g羽y","张z飞f"};
System.out.println("排序前"+Arrays.toString(names));
Comparatorcpt=Collator.getInstance(Locale.CHINA);
Arrays.sort(names,cpt);
System.out.println("排序后"+Arrays.toString(names));
}
}
测试输出
排序前[赵z子z龙l,刘l备b,关g羽y,张z飞f]
排序后[关g羽y,刘l备b,张z飞f,赵z子z龙l]
如果有一些非常用的汉字,生僻字等,建议使用一些jar包实现,比如pinyin4j