我在java中测试了很多选项,所以我想在java中做一个简单的递归函数。
我使用console来执行程序,它接收一个参数但总是当我尝试使用任何应该大于1的参数的递归时,它显示为0.
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.6.0</version>
</dependency>
答案 0 :(得分:3)
查看代码的这些行:
int xpi = factorial(numero-1);
System.out.println(factor);
您将函数的结果放到xpi
变量,但随后打印factor
变量。打印xpi
应该有效。
System.out.println(xpi);
答案 1 :(得分:1)
您的方法不是递归的,因为它不会调用自身。这将是一个递归的例子:
public static int factorial(int n) {
return n == 0 ? 1 : n * factorial(n-1);
}