[JAVA]—接收用户输入的数字,然后计算该数字的阶乘


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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM