Java 乘法hellp的递归方法

Java 乘法hellp的递归方法,java,Java,有人能帮我做这个项目吗 编写一个递归方法,将k到n的所有值相乘,并返回结果(以双精度形式)。例如:如果k=5,n=10,则乘以5*6*7*8*9*10返回151200 在java代码中 public static int multiply(int k, int n) { if(k == n) { return k; } return k * multiply(k, n-1); } 执行任何递归操作的第一部分是定义基本情况。在这种情况下,基本情况是k等于n,在这种情况下,方法应该返回k

有人能帮我做这个项目吗

编写一个递归方法,将k到n的所有值相乘,并返回结果(以双精度形式)。例如:如果k=5,n=10,则乘以5*6*7*8*9*10返回151200

在java代码中

public static int multiply(int k, int n) {
if(k == n) {
    return k;
}
return k * multiply(k, n-1);
}

执行任何递归操作的第一部分是定义基本情况。在这种情况下,基本情况是
k
等于
n
,在这种情况下,方法应该返回
k

接下来,处理给定输入不起作用的情况(例如,如果
k
以大于
n
的数字开始)。可能返回0或其他什么

一旦你把这两件事准备好了,做递归部分
k
应该朝
n
方向发展


编辑之后,您就非常接近了

您只需要更改您的返回声明。正如我所说,
k
需要朝
n
方向发展,但你正在朝
k
方向缩小
n
。改为这样做:

return k * multiply(k+1, n);
正如您当前编写的那样,您将返回
k*k*k…
,直到
n
减少到等于
k
。这实际上就是
k
n的幂


使用此返回将为您提供
k*k+1*k+2*k+3…
直到
k
增加到等于
n

您需要什么帮助?您已经尝试过什么了吗?尝试一下,如果遇到问题,回来寻求帮助。这里的人不做家务。是的,我尝试了一些方法,但它不会运行这就是我写它的原因。如果(y==0){return 0;}return x+multiply(x,y-1);}我试着给我15625,结果它错了,这里应该是151200。编辑你的原始帖子来显示你正在使用的代码(如果你这样做,我会投票重新打开)(并在答案中添加细节)。编辑:你得到这个答案是因为你在缩小
n
,而不是增加
k