將字符串中的大寫字母轉小寫,小寫字母轉大寫。要求必須使用 String.toUpperCase() 和 String.toLowerCase() 方法,並利用 StringBuffer 動態拼接結果。
char[] 數組遍歷。a-z (97-122) 為小寫,A-Z (65-90) 為大寫。toUpperCase()/toLowerCase() 是 String 方法,char 無法直接調用。解決:(c[i] + "").toUpperCase() —— 拼接空串隱式轉為 String。StringBuffer.append() 高效拼接結果。public class CaseSwapDemo {
public static void main(String[] args) {
String input = "abcDEF";
StringBuffer result = new StringBuffer();
char[] chars = input.toCharArray();
for (char c : chars) {
// 利用空串拼接將 char 隱式轉為 String,再調用大小寫轉換方法
if (c >= 'a') { // 小寫字母 ASCII >= 97
result.append(("" + c).toUpperCase());
} else { // 大寫字母
result.append(("" + c).toLowerCase());
}
}
System.out.println("原始: " + input);
System.out.println("反轉: " + result.toString());
// 輸出: 原始: abcDEF
// 反轉: ABCdef
}
}
for (char c : chars) {
if (Character.isLowerCase(c)) {
result.append(Character.toUpperCase(c));
} else if (Character.isUpperCase(c)) {
result.append(Character.toLowerCase(c));
} else {
result.append(c); // 非字母保持不變
}
}
String.toUpperCase()/toLowerCase() 僅適用於 String 對象。char + "" 是將字符快速轉字符串的常用技巧(本質調用 String.valueOf(char))。StringBuffer 線程安全,單線程下推薦 StringBuilder 效率更高。Character 工具類提供 isLowerCase/isUpperCase/toUpperCase/toLowerCase 靜態方法,處理字符大小寫更語義化、更安全(支持 Unicode)。