2011-02-09 93 views
2

如何更改互相递归的两个函数使它们成为线性递归?我是否必须使用单一方法同时使用这两种方法?相互递归问题

+0

也许你可以用一个简短的代码示例来说明你试图实现的目标? – 2011-02-09 21:32:59

回答

8

您应该能够简单地将第二种方法的实现“内嵌”到第一种方法中。

也就是说,

public static void methA() { 
    // snippet 1 

    methB(); 

    // snippet 2 
} 

public static void methB() { 
    // snippet 3 

    methA(); 

    // snippet 4 
} 

成为

public static void methAB() { 
    // snippet 1 

    // snippet 3 

    methAB(); 

    // snippet 2 

    // snippet 4 
} 

如果第二个方法是漫长的,在第一种方法中的多个点调用时,它可能会导致混乱,虽然。