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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[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

 

以上是关于[JAVA]—接收用户输入的数字,然后计算该数字的阶乘的主要内容,如果未能解决你的问题,请参考以下文章

python输入俩个数计算俩个数字之和

python用户输入一个长度为3的字符串,求该字符串中各字符ascii码之和,然后,计算各位数字之和

计算用户在Java中输入的一系列数字的总和、算术平均值、最小值和最大值? [关闭]

如何接收具有由小数点分隔的数字的用户输入并将该输入存储为不带小数点的 int?

java 中判断字符串是否相等

python输入两个数并求和