输入一个正整数,输出该数的阶乘。用JAVA怎么写。求代码。
展开全部
import java.util.Scanner;
import java.math.BigInteger;
public class Main {
public static void main(String[] args) {
new Main().start();
}
public void start() {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
int n = in.nextInt();
if (n < 0) { // 负数 退出循环
break;
}
BigInteger ans = BigInteger.ONE;
for (int i = 1; i <= n; i++) {
ans = ans.multiply(BigInteger.valueOf(i));
}
System.out.println(ans);
}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
书上有代码,就是用递归函数调用即可。
public long myJie(long n){
if (1==n){
return 1;
}
else{
return n*myJie(n-1);
}
}
public long myJie(long n){
if (1==n){
return 1;
}
else{
return n*myJie(n-1);
}
}
更多追问追答
追答
初始调用时确保n>0, n不能太大,也需要检测一下。
书上的函数头是
public static long myJie(int n){
…
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询