早教吧作业答案频道 -->其他-->
编写程序(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):输入一...的网友还看了以下:
第一步:取一个自然数n1=5,计算n(21)[由上往下念]+1得a(1在a的下方)第二步:算出a1 2020-05-23 …
算一算,想一想,填一填.数学题题目见补充↓↓算一算,想一想,填一填.1+2+1=41+2+3+2+ 2020-06-06 …
1、定义一个N*N的矩阵,输出其对角线元素、上三角矩阵和下三角矩阵;2、编程实现N阶方阵的乘法运算 2020-06-10 …
pascal题目-栈-进制转换题目描述十进制数N和其他d进制数的转换是计算机实现计算的基本问题,其 2020-06-28 …
编写程序(java):输入一个整数n,计算n的阶乘并捕捉可能出现的异常。编写程序:输入一个整数n, 2020-07-12 …
1、任意给定一个正实数,设计一个算法求以这个数为半径的圆的面积.2、任意给定一个大于1的整数n,设 2020-07-31 …
为什么方差的计算是除以n而样本方差的计算确实除以n+1 2020-08-02 …
秦九韶是我国古代数学家的杰出代表,他将一元n(n∈N*)次多项式的求值问题转化为n个一次式的算法叫 2020-08-03 …
字符串"\\\22a,0\n"的长度是?为什么看了很多种说法,\\算一个,空格算一个,\22算一个, 2020-11-07 …
(1)算法,第一步.(1)算法:第一步,赋值变量S=0,n=0,i=0第二步,计算i+1,仍用i表示 2020-12-09 …