当前位置:首页 » 编程语言 » java汉字排序

java汉字排序

发布时间: 2022-07-19 17:16:10

‘壹’ 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

热点内容
redis集群脚本 发布:2025-03-02 18:04:36 浏览:32
淘宝java下载 发布:2025-03-02 18:02:23 浏览:78
chrome浏览器android 发布:2025-03-02 17:55:01 浏览:838
暴富红包源码 发布:2025-03-02 17:54:58 浏览:252
学了服务器和网络设备能干什么 发布:2025-03-02 17:54:56 浏览:79
上传的协议 发布:2025-03-02 17:53:39 浏览:77
hibernate更新二级缓存 发布:2025-03-02 17:25:07 浏览:24
国泰策略价值灵活配置基金怎么样 发布:2025-03-02 17:24:59 浏览:724
java死机 发布:2025-03-02 17:24:58 浏览:113
lol和cf哪个对笔记本配置要求高 发布:2025-03-02 17:19:50 浏览:312