返回列表 發帖

Java 309 階乘遞迴計算

1. 題目說明:
請開啟C:\ANS.CSF\JP03資料夾中的JPD03.java進行編寫。依下列題意進行作答:輸入一個1-20的正整數,再輸出階乘計算結果,使輸出值符合題意要求。檔案名稱請另存新檔為JPA03.java,儲存於C:\ANS.CSF\JP03資料夾,再進行評分。

2. 設計說明:
(1) 請在程式中撰寫一個compute的方法,接收main()傳遞的一個1-20之間的正整數。
(2) compute方法計算該數的階乘計算結果並回傳至main(),若輸入值不在1-20範圍內或輸入文字,請輸出【error】。
(3) 階層的定義如下:


3. 輸入輸出:
輸入說明
1-20之間的正整數

輸出說明
階層計算結果(輸出最後一行後不自動換行)

範例輸入1
5

範例輸出1
120

範例輸入2
0


範例輸出2
error

本帖隱藏的內容需要回復才可以瀏覽
May

本帖最後由 吳侑諶 於 2023-10-19 19:29 編輯
  1. import java.util.Scanner;

  2. public class JPD02{

  3.     public static void main(String args[]) {
  4.         int n;
  5.         try {
  6.             Scanner sc = new Scanner(System.in);
  7.             n=sc.nextInt();
  8.             if(n<1 || n>20)
  9.             {
  10.                 System.out.print("error");
  11.                 return;
  12.             }
  13.             System.out.println(compute(n));
  14.         } catch (Exception e) {
  15.             System.out.print("error");
  16.             return;
  17.         }
  18.     }

  19.     public static long compute(int i) {
  20.         if(i==1)
  21.             return 1;
  22.         else
  23.             return compute(i-1)*i;
  24.     }
  25. }
複製代碼

TOP

  1. import java.util.ArrayList;
  2. import java.util.Scanner;
  3. public class JPA03{
  4.         public static void main(String[] args){
  5.               int n;
  6.               try{
  7.                       Scanner Sc=new Scanner(System.in);
  8.                       n=Sc.next();
  9.                       if(n<1 || n>20)
  10.                               System.ont.print("error");
  11.                       System.ont.println(compute(n));
  12.               }catch(Exception e){
  13.                        System.ont.print("error");
  14.                        return;
  15.               }
  16.         }
  17.         public static long compute(int i){
  18.                 if(i==1)
  19.                         return 1;
  20.                 else
  21.                         return compute(i-1)*i;
  22.         }
  23. }
複製代碼

TOP

  1. import java.util.Scanner;

  2. public class JPD03 {
  3.         public static void main(String[] args) {
  4.              int n;
  5.              try{
  6.                      Scanner sc=new Scanner(System.in);
  7.                      n=sc.nextInt();
  8.                      if(n<1 || n>20){
  9.                              System.out.println("error");
  10.                              return;
  11.                      }
  12.                              System.out.println(compute(n));
  13.                      
  14.             }catch(Exception e){
  15.                     System.out.print("error");
  16.                     return;
  17.             }
  18.          }
  19.         public static int compute(int i){
  20.               if(i==1)
  21.                  return 1;
  22.               else
  23.                       return compute(i-1)*i;
  24.            }   
  25.         }
  26.      
  27.    
複製代碼

TOP

  1. import java.util.*;
  2. public class Ch01 {

  3.         public static void main(String[] args) {               
  4.                 int n;
  5.                 try
  6.                 {
  7.                         Scanner sc=new Scanner(System.in);
  8.                         n=sc.nextInt();
  9.                 if(n<1 || n>20)
  10.                 {
  11.                         System.out.println("error");
  12.                         return;
  13.                 }
  14.                         System.out.println(compute(n));
  15.                 }catch(Exception e)
  16.                 {
  17.                         System.out.println("error");
  18.                         return;
  19.                 }

  20.         }
  21.         public static long compute(int i)
  22.         {
  23.                 if(i==0)
  24.                         return 1;
  25.                 else
  26.                         return compute(i-1)*i;
  27.         }
  28. }
複製代碼

TOP

  1. import java.util.Scanner;
  2. public class Ch01{
  3.         public static void main(String args[]){
  4.                 int n;
  5.                 try{
  6.                         Scanner sc=new Scanner(System.in);
  7.                         n=sc.nextInt();
  8.                         if(n<1 || n>10){
  9.                                 System.out.println("error");
  10.                                 return;
  11.                         }
  12.                         System.out.println(compute(n));
  13.                 }catch(Exception e){
  14.                         System.out.print("error");
  15.                         return;
  16.                 }
  17.         }
  18.         public static long compute(int i){
  19.                 if(i==1)
  20.                         return 1;
  21.                 else
  22.                         return i*compute(i-1);
  23.         }
  24. }
複製代碼

TOP

  1. import java.util.Scanner;
  2. public class JPA03 {
  3.         public static void main(String[] args) {
  4.                 int n;
  5.                 try{
  6.                         Scanner sc=new Scanner(System.in);
  7.                         n=sc.nextInt();
  8.                         if(n<1||n>20){
  9.                                 System.out.println("error");
  10.                                 return;
  11.                         }
  12.                         System.out.println(compute(n));
  13.                 }catch(Exception e){
  14.                         System.out.println("error");
  15.                         return;
  16.                 }
  17.         }
  18.         public static long compute(int i){
  19.                 if(i==1)
  20.                         return 1;
  21.                 else
  22.                         return compute(i-1)*i;
  23.         }
  24. }
複製代碼

TOP

  1. package homework;

  2. import java.util.Scanner;

  3. public class Main {
  4.         public static void main(String[] args) {
  5.                 Scanner sc=new Scanner(System.in);
  6.                 int n;
  7.                 try {
  8.                         n=sc.nextInt();
  9.                         if(n>20||n<1) {
  10.                                 System.out.print("error");
  11.                                 return;
  12.                         }
  13.                         System.out.print(compute(n));
  14.                 }catch(Exception e) {
  15.                         System.out.print("error");
  16.                         return;
  17.                 }
  18.         }
  19.         public static long compute(int n) {
  20.                 long sum=1;
  21.                 while(n>1) {
  22.                         sum*=n;
  23.                         n--;
  24.                 }
  25.                 return sum;
  26.         }
  27. }
複製代碼

TOP

返回列表