在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
),当满足此条件时,递归调用将停止。因此,这个示例不会导致无限递归。