⑴ 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中如何輸入一個char型字元。
方法一:
Scanner cin=new Scanner(System.in);
String s=cin.nextLine();
char ans=s.charAt(0);
這樣即可獲取一個字元。
方法二:
byte[] b=new byte[2];
try{
System.in.read(b)
}catch(Exception e){}
char ans=new String(b).charAt(0);
這樣即可獲取一個字元
⑶ java字元串插入另一字元串
你是想比較字元串的尺寸還是大小呢?
如果是指尺寸,即字元串的長度,那麼比較尺寸只需要比較它們的 length 屬性即可。
但如果是指大小,即字元串的內容比較,應該使用 compareTo 方法。
至於插入操作,如果是在較大字元串中插入較小字元串,可以將較大字元串使用 split 方法拆分成數組,再將較小字元串插入到指定位置,最後用拼接方法組裝回字元串。