【发布时间】:2020-03-04 01:23:47
【问题描述】:
如果if condition 返回的值不是 1,则阶乘值会发生变化。
据我了解,return 是停止程序的方法。但是if statement return 是如何与factorial return 声明相关的呢?
这是 if 条件:
if (value == 1) {
// return 0 will cause the factorial return to multiple by 0.
// return 2 will cause the factorial return 48.
return 1;
}
最终代码:
public class test {
public static void main(String[] args) {
System.out.println(factorial(4));
}
private static int factorial(int value) {
if (value == 1) {
// return 0 will cause the factorial return to multiple by 0.
// return 2 will cause the factorial return 48.
return 1;
}
return factorial(value - 1) * value;
}
}
【问题讨论】:
-
这是 Java 递归。查看这篇文章geeksforgeeks.org/recursion-in-java
标签: java if-statement recursion return