public void jiecheng (int result,int k){
if(k==1){
System.out.println(result);
}else {
result = result *(k-1);
jiecheng(result, k-1);
}
}
点击方法就跳到这了:
截一下完整代码,我觉得你函数结构可能有错
微调了一下,现在大概能跑了
package com.csdn;
public class q7505075 {
public void jiecheng(int result, int k) {
if (k == 1) {
System.out.println(result);
} else {
result = result * k;
jiecheng(result, k - 1);
}
}
public static void main(String[] args) {
q7505075 a = new q7505075();
a.jiecheng(1, 5);
}
}
k和result分别代表什么,如果result代表的是输出,为什么要在函数参数列表写,不符合代码规范
public void jiecheng(int result,int k){
if(k==1){
System.out.println(result);
}
else{
result = result * k;
jiecheng(result,k-1);
}
}
jiecheng(1,5)
一个参数就可以了,两个参数自己把自己给搞乱了。
public int jiecheng (int result){
if(result==1){
return result;
}else{
return result * jiecheng(result-1);
}
}