java對字母排序
① java輸入一個字元串,要求將該字元串中出現的英文字母,按照順序 進行輸出,區分大小寫,且大寫優先
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Demo {
public static void main(String[] args) {
// 假設輸入的內容
String input = "A8r4c5ja5AJp#7";
// 轉為 char[]
char[] inputArr = input.toCharArray();
// 存儲 大寫字母、小寫字母
List<String> upperCaseList = new ArrayList<>()
, lowerCaseList = new ArrayList<>();
for (int i = 0; i < inputArr.length; i++) {
if (inputArr[i] >= 65 && inputArr[i] <= 90) { // 大寫字母
upperCaseList.add(String.valueOf(inputArr[i]));
}else if (inputArr[i] >= 97 && inputArr[i] <= 122) { // 小寫字母
lowerCaseList.add(String.valueOf(inputArr[i]));
}
}
// 將大寫字母、小寫字母 List 轉為 String[]
String[] upperCaseArr = upperCaseList.toArray(new String[0])
, lowerCaseArr = lowerCaseList.toArray(new String[0]);
// 對大寫字母進行排序
Arrays.sort(upperCaseArr);
// 對小寫字母進行排序
Arrays.sort(lowerCaseArr);
// 取出大寫字母,拼成字元串
StringBuilder result = new StringBuilder();
for (int i = 0; i < upperCaseArr.length; i++) {
result.append(upperCaseArr[i]);
}
// 定義接收剩餘字母
StringBuilder remainingStr = new StringBuilder();
for (int i = 0; i < lowerCaseArr.length; i++) {
// 將小寫字母轉為大寫字母
String upperCaseStr = lowerCaseArr[i].toUpperCase();
// 取出大寫字母所在索引
int index = result.lastIndexOf(upperCaseStr);
if (index != -1) { // 存在大寫字母
// 取開頭,拼接
String startStr = result.substring(0, index + 1) + lowerCaseArr[i];
// 取結尾
String endStr = result.substring(index + 1);
// 重新賦值
result = new StringBuilder(startStr + endStr);
} else { // 不存在大寫字母
remainingStr.append(lowerCaseArr[i]);
}
}
// 將不存在的小寫字母拼接
result.append(remainingStr);
System.out.println(result);
}
}
② java中怎麼對英文字母進行排序
在java中對英文字母進行比較的時候,在java虛擬機中,他首先會轉換成ASII來進行比較,所以可以直接寫,如果是大寫和小寫的比較的話,大寫要加上一定的數字,才能進行比較,如果嫌麻煩,你也可以將大寫轉化成小寫進行比較,採用冒泡法排序吧
③ JAVA 字母排序,並插入字母後再次排序
//數組方式
String[]arr={"c","d","b","a"};
java.util.Arrays.sort(arr);
System.out.println(java.util.Arrays.toString(arr));//輸出數組
//使用TreeSet排序
TreeSet<String>ts=newTreeSet<String>();
ts.add("c");
ts.add("a");
ts.add("b");
System.out.println(ts);//輸出排序後的
//PS:因為TreeSet存在自然排序,所以不必實現Comparator還有Comparable介面
④ Java中如何實現字元串按字母順序排序
package string;
import java.util.Arrays;
import java.util.Scanner;
public class SortDemo
{
public static void main(String[] args)
{
String[] strings = new String[10];
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < strings.length; i++)
{
System.out.println("請輸入第" + (i + 1) + "個字元串:");
strings[i] = scanner.nextLine();
}
Arrays.sort(strings);
System.out.println(Arrays.toString(strings));
}
}
⑤ java 大小寫字母字元串排序 結果例如AaBb
importjava.util.*;
publicclassCharTest{
staticScannersc=newScanner(System.in);
publicstaticvoidmain(String[]args){
System.out.println("請輸入隨機字母!");
Stringstr=sc.nextLine().replaceAll("[^\w]+","").replaceAll("\d","");
StringBuilderstb=newStringBuilder();
char[]chs=str.toCharArray();
System.out.println(" 你輸入的是:"+str);
//排序!
for(inti=1;i<chs.length;i++){
for(intj=i;j>0;j--){
if(chs[j]<chs[j-1]){
chartem=chs[j];
chs[j]=chs[j-1];
chs[j-1]=tem;
}
}
}
stb.append(chs);
System.out.println(" 排序:大寫-->小寫-->正序排列:"+stb);
System.out.println(" 排序:小寫-->大寫-->倒序排列:"+stb.reverse());
}
}