① java编写程序,对英文单词按照字母顺序进行排序(升序or降序)
Easy!
import java.util.ArrayList;
import java.util.Collections;
public class Main {
/**
* @param args
* the command line arguments
*/
public static void main(String[] args) {
String target = "John Bill Peter ";
ArrayList<String> list = new ArrayList<String>();
for (String temp : target.split(" ")) {
list.add(temp);
}
Collections.sort(list);
for(int i = list.size(); i > 0; i--){
System.out.println(list.get(i-1) + " ");
}
}
}
----------------
Peter
John
Bill
② 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中如何实现中文排序
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中,如何实现英文名字的排序
给你个例子啊。你看过之后就明白了。
import java.util.Arrays;
public class EnglishSort {
public static void main(String[] args) {
String str="IndexWriter writer = new IndexWriter(ramDir, analyzer)";
StringBuffer buff=new StringBuffer(str);
char[] arr=str.toCharArray();
Arrays.sort(arr);
for(int i=0,j=0;i<arr.length;i++){
if(String.valueOf(arr[i]).matches("[a-zA-Z]")){
while(true){
if(String.valueOf(buff.charAt(j)).matches("[a-zA-Z]")){
buff.setCharAt(j, arr[i]);
j++;
break;
}
j++;
}
}
}
System.out.println(buff.toString());
}
}
⑤ java中怎么对英文字母进行排序
char类型的英文字母那么是可以直接像数字一样进行排序的,因为它底层采用的是unicode编码存储,实际上也是数字.