如何在java中返回递归方法值

Nij*_*iju 1 java recursion

我有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)