在Java中,要避免無限遞歸,您需要確保在遞歸方法中有一個明確的終止條件。當滿足此終止條件時,遞歸將停止調用自身。以下是一個簡單的示例,說明如何避免無限遞歸:
public class RecursionExample {
public static void main(String[] args) {
int number = 5;
System.out.println("Factorial of " + number + " is: " + factorial(number));
}
public static int factorial(int n) {
// 終止條件:如果n為0或1,返回1(0!和1!都等于1)
if (n == 0 || n == 1) {
return 1;
}
// 遞歸調用:計算n的階乘,即n乘以(n-1)的階乘
return n * factorial(n - 1);
}
}
在這個例子中,factorial
方法有一個明確的終止條件(n == 0 || n == 1
),當滿足此條件時,遞歸調用將停止。因此,這個示例不會導致無限遞歸。