我有java类,将调用字符串替换的递归方法.该方法将在逐个替换所有必需字符后返回字符串.但这不符合预期.请在下面找到代码.
public class TestingRecursion {
private static String startRecursion(String value){
value = value.replaceFirst("a", "b");
if(value.contains("a"))
startRecursion(value);
return value;
}
public static void main(String[] args) {
String value = "1a 2a 3a 4a";
String afterRecursion = startRecursion(value);
System.out.println(afterRecursion);
}
}
Run Code Online (Sandbox Code Playgroud)
预期输出 - "1b 2b 3b 4b"实际输出 - "1b 2a 3a 4a".
小智 5
您没有使用startRecursion的返回值.
第5行应该是:
value = startRecursion(value);
Run Code Online (Sandbox Code Playgroud)