Java中的递归方法,用于计算不起作用的因子

时间:2013-09-13 20:25:58

标签: java math methods recursion factorial

在Java中编写一个计算阶乘的递归方法。不幸的是它不起作用,我怀疑这是因为我不太确定的2个参数 - 我用星号包围了。那些属于那里的正确参数吗?或者我是否需要将它们更改为其他内容以及为什么?

public fact(n)
{
   return this.factHelp(n, ***n+1*** );
}

private factHelp(n, result)
{
   if (n == 0)
      return result;
   else
      return this.factHelp(n – 1, ***result***);
}

1 个答案:

答案 0 :(得分:2)

此代码无法编译。

  1. 您错过了这两种方法的返回类型。您应该使用public int fact...代替public fact...
  2. 您的参数没有类型。它应该是fact(int n)而不是fact(n)
  3. 您不需要需要两个函数来执行此操作。如果你愿意,你可以使用两个,但我只是想让你知道这是不必要的。
  4. 您应该谷歌搜索“递归因子算法”以获得更多帮助。