java写一个 递归一次并且保存上次递归的结果
时间: 2024-05-12 07:13:33 浏览: 66
下面是一个Java递归函数的示例,该函数每次递归都会保存上一次递归的结果:
```
public static int recursiveFunction(int n, int prevResult) {
int result = n + prevResult;
System.out.println("Result of current recursion: " + result);
if (n == 0) {
System.out.println("End of recursion");
return result;
} else {
return recursiveFunction(n-1, result);
}
}
```
该函数有两个参数,第一个参数n表示当前递归的层数,第二个参数prevResult表示上一次递归的结果。在每次递归中,我们将n和prevResult相加得到当前递归的结果,并将其打印出来。如果n等于0,说明递归结束,我们返回当前递归的结果。否则,我们通过调用recursiveFunction函数来进行下一次递归,并将当前递归的结果作为prevResult传递给下一次递归。
你可以在主函数中调用该函数来进行测试:
```
public static void main(String[] args) {
int n = 5;
int result = recursiveFunction(n, 0);
System.out.println("Final result: " + result);
}
```
这段代码将递归5次,每次都会保存上一次递归的结果,并将最终结果打印出来。
阅读全文