早教吧作业答案频道 -->其他-->
编写程序(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):输入一...的网友还看了以下:
(2014•南昌模拟)二维空间中圆的一维测度(周长)l=2πr,二维测度(面积)S=πr2,观察发 2020-04-12 …
从车站开出的汽车做匀加速直线运动,走了12s时,发现乘客还没有上来从车站开出的汽车做匀加速直线运动 2020-05-16 …
我在信号频谱检测的时候遇到协方差矩阵表达形式R=X(n)X(n)内是一个十字右上标如图片说是伪逆矩 2020-06-10 …
(2014•镇江)如图,闭合开关S后发现灯L不亮,电流表示数几乎为零,电压表指针有明显偏转,则电路 2020-06-12 …
有C++写的乘法口诀就是我们常见的乘法口诀的样子,但是发现乘积有两位数的后就不对齐了,想问一下怎么 2020-06-27 …
编写程序(java):输入一个整数n,计算n的阶乘并捕捉可能出现的异常。编写程序:输入一个整数n, 2020-07-12 …
图甲是通过灯泡L的电流跟其两端电压关系的图象.现将L与阻值为10Ω的电阻R连入图乙所示电路.闭合开 2020-07-21 …
二维空间中圆的一维测度(周长)l=2πr,二维测度(面积)S=πr2,观察发现S′=l;三维空间中 2020-08-03 …
力矩到底是F乘以L还是F叉乘L?为什么这里说的是乘以 2020-12-01 …
下列各句中,加点的成语使用恰当的一项是()A.新闻记者的职业敏感,表现为他们具有锐利而敏捷的观察力, 2020-12-13 …