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
时间: 2024-10-10 15:52:01