public class recursionTester {
public static void main(String[] args) {
System.out.println("Your recursion is " + Recursion(5,4));
}
private static int Recursion(int recursive1, int recursive2) {
if(recursive2 == 0)
return 1;
else if (recursive2 >= 0)
return Recursion(recursive1 * Recursion(recursive1,recursive2-1), recursive2);
}
}
//我更多地寻求解决方案而不是建议,因为我已经知道我的问题
最佳答案
看起来您想使用递归计算 x 的 y 次方值(即 x ^ y)。您需要记住的重要一点是,您需要在某些条件下终止函数调用;否则,就会变得无休无止。
public class RecursionTester {
public static void main(String[] args) {
System.out.println("5 ^ 4 = " + power(5, 4));
}
private static int power(int x, int y) {
if (y == 0) // Because x ^ 0 = 1
return 1;
return x * power(x, y - 1);
}
}
输出:
5 ^ 4 = 625
这是您要找的吗?如果情况并非如此,请随时发表评论。
关于java - 需要修复我的递归代码(get 需要返回 int 或 stackoverflow 错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59110710/