早教吧 育儿知识 作业答案 考试题库 百科 知识分享

编写程序(java):输入一个整数n,计算n的阶乘并捕捉可能出现的异常。编写程序:输入一个整数n,计算n的阶乘并捕捉可能出现的异常。实验要求:(1)阶乘方法命名为factorial();(2)无

题目详情
编写程序(java):输入一个整数n,计算n的阶乘并捕捉可能出现的异常。
编写程序:输入一个整数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):输入一...的网友还看了以下: