编写程序(java):输入一个整数n,计算n的阶乘并捕捉可能出现的异常。
编写程序:输入一个整数n,计算n的阶乘并捕捉可能出现的异常。实验要求:(1)阶乘方法命名为factorial();(2)无论是否出现异常,最后都要能够显示:“Finish...
编写程序:输入一个整数n,计算n的阶乘并捕捉可能出现的异常。
实验要求:
(1)阶乘方法命名为factorial();
(2)无论是否出现异常,最后都要能够显示:“Finish computing factorial number.”。
(3)当输入的数大于20时,请显示的“数字过大,无法计算”的异常 展开
实验要求:
(1)阶乘方法命名为factorial();
(2)无论是否出现异常,最后都要能够显示:“Finish computing factorial number.”。
(3)当输入的数大于20时,请显示的“数字过大,无法计算”的异常 展开
2个回答
展开全部
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);
}
}
展开全部
import java.util.Scanner;
public class TestMax {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个整数");
int x = input.nextInt();
try {
if (x > 20)
throw new Exception("数字过大,无法计算");
factorial(x);
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
} finally {
System.out.println("Finish computing factorial number");
}
}
public static void factorial(int n) {
int all = 1;
for (int i = 1; i < n + 1; i++) {
all *= i;
}
System.out.println(all);
}
}
public class TestMax {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个整数");
int x = input.nextInt();
try {
if (x > 20)
throw new Exception("数字过大,无法计算");
factorial(x);
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
} finally {
System.out.println("Finish computing factorial number");
}
}
public static void factorial(int n) {
int all = 1;
for (int i = 1; i < n + 1; i++) {
all *= i;
}
System.out.println(all);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |