[英]Need a fix on my code of recursion (either get needs to return int or stackoverflow error)
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
這就是你要找的嗎? 如果情況並非如此,請隨時發表評論。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.