我完全意識到字符串是不可變的,不能改變,可以是「editabile」 - 哦爭議!所以我試圖讓沒有用於java中字符串的replace()方法,以實現字符串中特定字符與另一個字符交換的位置。我想盡可能簡單地做到這一點,而不需要導入任何util或使用數組。到目前爲止,我已經得到它來改變字符,但它沒有正確返回,或者,那是...字符串結束。Java - 遞歸替換字符串中的字母
public static void main(String[] args) {
String words = "hello world, i am a java program, how are you today?";
char from = 'a';
char to = '/';
replace(s, from, to);
}
public static String replace(String s, char from, char to){
if (s.length() < 1)
return s;
if (s.charAt(0) == from) {
s = to + s.substring(1);
}
System.out.println(s);
return s.charAt(0) + replace(s.substring(1, s.length()), from, to);
}
使用StringBuilder,因爲它就是它的用途。這樣做沒什麼奇怪的,事實上它比遞歸更清潔簡單。 –
你想修改現有的字符串還是從現有的字符串創建一個新的字符串? – Kakarot
在你的return語句中,你最終創建了一個不符合你提到的要求的String實例。 – Kakarot