早教吧作业答案频道 -->其他-->
编写程序(java):输入一个整数n,计算n的阶乘并捕捉可能出现的异常。编写程序:输入一个整数n,计算n的阶乘并捕捉可能出现的异常。实验要求:(1)阶乘方法命名为factorial();(2)无
题目详情
编写程序(java):输入一个整数n,计算n的阶乘并捕捉可能出现的异常。
编写程序:输入一个整数n,计算n的阶乘并捕捉可能出现的异常。
实验要求:
(1)阶乘方法命名为factorial();
(2)无论是否出现异常,最后都要能够显示:“Finish computing factorial number.”。
(3)当输入的数大于20时,请显示的“数字过大,无法计算”的异常
编写程序:输入一个整数n,计算n的阶乘并捕捉可能出现的异常。
实验要求:
(1)阶乘方法命名为factorial();
(2)无论是否出现异常,最后都要能够显示:“Finish computing factorial number.”。
(3)当输入的数大于20时,请显示的“数字过大,无法计算”的异常
▼优质解答
答案和解析
import java.util.*;
public class T {
public static void main(String[] args){
try{
Scanner input = new Scanner(System.in);
String num = input.nextLine();
if(!num.match("[^0]\\d+$")) {
throw new RuntimeException("输入的不是自然数");
}
if(Long.parseLong(num) >20) {
throw new RuntimeException("数字过大,无法计算");
}
long result = factorial(Long.parseLong(num));
System.out.println(result);
}catch(Exception e){
throw new RuntimeException(e);
}finally{
System.out.println("Finish computing factorial number");
}
}
/**计算阶乘**/
public static long factorial(long n) {
if(n==1) return 1 ;
return n * factorial(n-1);
}
}
看了 编写程序(java):输入一...的网友还看了以下:
若正整数n恰好有4个正约数,则称n为奇异数,例如6、8、10都是奇异数,那么在27、42、69、1 2020-05-13 …
c++排序问题输入n个数,对n个数进行从小到大排序。并说出值为x的数的排名。并将top5显示出来。 2020-05-17 …
为何在通电螺线圈内放入小磁针,其磁针偏转指向不符合同名相斥,异名相吸的原理呢我了解磁体内部磁场线方 2020-06-16 …
我们知道,任意一个正整数n都可以进行这样的分n=p×q(p,q是正整数,且p≤q),在n的所有这种 2020-06-30 …
任何一个正整数n都可以进行这样的分解:n=s×t(s、t是正整数,且s≤t),如果p×q在n的所有 2020-07-31 …
任何一个正整数n都可以进行这样的分解:n=p×q(p、q是正整数,且P≤q),如果p×q在n的所有 2020-07-31 …
我们知道,任意一个正整数n都可以进行这样的分n=p×q(p,q是正整数,且p≤q),在n的所有这种 2020-07-31 …
任何一个正整数n都可以进行这样的分解:n=s×t(s,t是正整数,且s≤t),如果p×q在n的所有 2020-07-31 …
任何一个正整数n都可以进行这样的分解:n=s×t(s、t是正整数,且s≤t),如果p×q在n的所有这 2020-12-01 …
线性代数特征向量问题求解1)设a是n阶矩阵A的特征向量,T是n阶可逆矩阵,B=T-1AT,求B的一个 2020-12-05 …