早教吧作业答案频道 -->其他-->
编写程序(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):输入一...的网友还看了以下:
某工厂的生产函数是Q=f(L,K),已知(1)当L=64,K=20时,Q=25000;(2)当L= 2020-06-12 …
设f∈C[-l,l],f(x)在x=0处可导,且f′(0)≠0,(1)求证:∀x∈(0,l),∃θ 2020-06-17 …
若准线方程是f(x,y)=0,z=0,当母线的方向向量是S={L,m,n}时,柱面方程为f(x-L 2020-07-09 …
求柱面的方程..准线为f(x,y)=0,z=0;母线的方向向量为s={l,m,n},则柱面的方程f 2020-07-31 …
根据定义式B=FIL,下列说法正确的是()A.B的大小与F成正比,与L、I成反比B.B的方向由F的方 2020-10-30 …
还是那个问西经的学生……呵呵……我最后理解就是:f(λL,λK)表示增加要素λ倍的产量,照理说应该对 2020-11-21 …
举例:1)lim(x→c)|f(x)|=|L|,lim(x→c)f(x)=M≠L.2)lim(x举例 2020-11-27 …
阅读此日记要写建议啊F与L是青梅竹马...L向F表白..(F拒绝了)过了2年...L对F说:我等了你 2020-11-29 …
麻烦大侠解一道题,程序设计对分查询算法一个数组中含有元素A、B,C,D,E,F,G,H,I,J,K, 2020-12-02 …
大哥再问个问题定义变量如下:charc=‘w‘;inti=8;longL=15;floatf=8.9 2020-12-31 …