作爲一個java初學者,我試圖完成一個簡單的練習,以從數組中的每個元素中刪除字符'a'的所有實例的字符串,然後打印所有元素。循環遍歷一個字符串數組,並刪除元音'a'(java)
下面的代碼,只是輸出數組不變(仍然包含a)。
我相信我已經找到了實現它的另一種方法,但我仍然無法明白爲什麼下面的失敗,併爲了學習的目的想知道。任何意見,將不勝感激。
public static void main(String[] args) {
String instruments[] = {"cello", "guitar", "violin", "double bass"};
for (int i = 0; i < instruments.length; i++) {
String str = instruments[i];
for (int b = 0; b < str.length(); b++) {
char a = str.charAt(b);
if (str.charAt(b) == 'a') {
str.replace("a", "");
}
}
System.out.println(str);
}
}
字符串是不可變的。對String的每個修改都會返回一個新的String。所以你需要重新分配替換結果 –