import java.util.Scanner;//控制器輸入需要用到Scanner public class Factorial { public static void main(String[] args) { System.out.println("請輸入一個正數:");//在控制台提示輸入 Scanner sc = new Scanner(System.in); String str = sc.nextLine(); /*當通過new Scanner(System.in)創建一個Scanner,控制台會一直等待輸入, 直到敲回車鍵結束,把所輸入的內容傳給Scanner,作為掃描對象。 如果要獲取輸入的內容,則只需要調用Scanner的nextLine()方法即可。*/ int n =Integer.parseInt(str);//將string類型轉換成int類型 long result =1; if (n<0||n>17) { System.out.println("范圍必須是0-17,大於17會超過long范圍"); }else if (n==0) { System.out.println("0的階乘等於1"); }else { for (int i = n; i >0; i--) { result*=i; } System.out.println(n+"的階乘是:"+result); } } }
請輸入一個正數: 10 10的階乘是:3628800
