
題目不是說要利用迴圈去取代字串嗎
樓上這個寫法是不是算偷吃步
感覺變得迴圈多餘了,還要靠break出來
不知道會不會給分
public class StringReplacement {
public static void main(String[] args) {
// 宣告原始字串
String str = "I am a teacher!";
// 宣告要替換的字串和新字串
String repstr = "teacher";
String newstr = "professor";
// 輸出原始字串內容
System.out.println("原始字串內容:");
System.out.println(str);
// 使用 for 迴圈進行字串替換
// 建立 StringBuilder 物件,用於動態建立新的字串
StringBuilder sb = new StringBuilder();
// 初始化起始索引為 0,用於指示開始尋找 repstr 的位置
int start = 0;
// 宣告一個整數變數 index 用於保存找到的 repstr 的索引位置
int index;
// 使用 while 迴圈尋找 repstr 在原始字串中的位置,直到找不到為止
while ((index = str.indexOf(repstr, start)) != -1) {
// 將原始字串中 start 到 index 之間的子字串加入到 StringBuilder 中
sb.append(str, start, index)
// 將新字串 newstr 加入到 StringBuilder 中
.append(newstr);
// 更新起始索引為找到的 repstr 的索引位置 + repstr 長度,用於下一次尋找
start = index + repstr.length();
}
// 將剩餘部分(即最後一次找到 repstr 後到字串結束的部分)加入到 StringBuilder 中
sb.append(str.substring(start));
// 輸出取代後的新內容
System.out.println("取代後的新內容:");
System.out.println(sb.toString());
}
}