-8

在 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***);
}
4

1 回答 1

2

此代码无法编译。

  1. 您缺少这两种方法的返回类型。你应该使用public int fact...而不是public fact...
  2. 您的参数没有类型。它可能应该fact(int n)代替fact(n)
  3. 不需要两个函数来执行此操作。如果你愿意,你可以使用两个,但我只是想让你知道这是不必要的。
  4. 您可能应该搜索“递归阶乘算法”以获得更多帮助。
于 2013-09-13T20:27:24.920 回答