public class Prod {
public static void main(String[] args) {
System.out.println(prod(1, 4));
}
public static int prod(int m, int n) {
if (m == n) {
return n;
} else {
int recurse = prod(m, n-1);
int result = n * recurse;
return result;
}
}
}
运行上面的代码,我得到 24 ? 我不太明白怎么做?
我的疑惑: 1. 当 m =1 , n=4 时,我们调用 prod 直到 m 和 n 等于 1。那么输出应该是 n 并且不应该执行 else 块?
有人请帮助我理解逻辑。