① 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編碼存儲,實際上也是數字.