用Java编写一个完整的递归程序,实现如下功能:从键盘输入数字n,程序自动计算n!,并输出

求大神帮忙,详细解答

    public static void main(String[] args){
        System.out.println("输入n,按回车:");
        Scanner s = new Scanner(System.in);
        Integer n = Integer.parseInt(s.next());
        Integer re = factorial(1, n);
        System.out.println(re);
    }
    public static Integer factorial(Integer a, Integer b){
        if(b == 1){
            return a * b;
        }else{
            return a * b * factorial(a, b-1);
        }
    }

这个最后吐槽一句,用循环一下就解决了,非要用递归,闲得蛋疼

追问

大哥 我也不想啊 老师给的作业题啊~~~~(>_<)~~~~

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-17
public long calc(n){
if(n==1){ return 1;}
else {
return n*calc(n-1);
}
}

调用:
calc(10);
至于输入那些代码你自己完成。
相似回答