当前位置: 首页 > 知识库问答 >
问题:

java阶乘赋值有问题

毛正浩
2023-03-14

有人能帮助我的java阶乘赋值吗?我认为我做得对,但我不确定。我需要让用户输入一个数字,然后计算输入数字的阶乘。就像人输入10一样,用户会将此视为输出:0! = 1, 1! = 1, 2! = 2, 3! = 6, 4! = 24, 5! = 120, 6! = 720, 7! = 5040, 8! = 40320, 9! = 362880

import java.lang.Math;
import java.util.Scanner;

public class Factorial {

public static int factorial( int iNo ) {
    if (iNo < 0) throw
        new IllegalArgumentException("iNo must be >= 0");

    int factorial = 1;
    for(int i = 2 ; i <= iNo; i++)
        factorial *= i;
    System.out.println ( i + "! = " + factorial(i));

    return factorial ;
}
}
public class Factorial{
    public static void main ( String args[] ){
        Scanner input = new Scanner (System.in);
        System.out.println("Enter number of factorials to calculate: " );
        int  iNo = input.nextInt();
        for(int i = 0; i <= iNo; i++)
        factorial *= i;
        System.out.println ( i + "! = " + factorial(i));


}
}

共有2个答案

王辉
2023-03-14

这很好,但您不需要。

import java.lang.Math;

    public class Factorial {



    public static int factorial( int iNo ) {

        // Make sure that the input argument is positive

        if (iNo < 0) throw
            new IllegalArgumentException("iNo must be >= 0");

        // Use simple look to compute factorial....

        int factorial = 1;
        for(int i = 2; i <= iNo; i++)
            factorial *= i;

        return factorial;
    }


    public static void main ( String args[] ) {




    }
呼延光明
2023-03-14

你就快到了。您的主代码中缺少一些代码:

  1. 提示用户输入数字。您可以使用系统。出来println

一旦你完成了上面的四个步骤,你就大功告成了!

 类似资料:
  • 问题内容: 我想使用for循环在Java中执行阶乘程序。例如,我想接受用户输入,说,然后相乘。我需要构建循环的帮助。到目前为止,我不知道去哪里。 问题答案: 尝试 正如@Marko Topolnik在评论中提到的那样,该代码将适用于输入最多12的输入。对于较大的输入,由于溢出将输出无穷大。 对于大于12的数字,您应使用更高的数据类型,例如 你可以试试:

  • 在很多流行的编程语言里,都有解构赋值的概念,比如Perl,Python ES6中也加入了类似的赋值语句,比以前的赋值操作更灵活,更快捷 正文 数组的解构赋值很好理解,就是按照对应位置,对变量赋值: let [a, b, c] = [1, 2, 3] 相当于 let a = 1 let b = 2 let c = 3 支持数组嵌套,也支持等号两边结构不同的情况 如果变量对应不上值,这个变量就是und

  • 当我提交给leetcode时,它运行案例500/502,但失败了,原因是:1808548329。但当我在自己的mac上运行它时,它给出了与公认的答案相同的答案。 我的代码: 交流答案是: 它们在我的mac上运行相同的结果: 第一个解决方案之所以不被接受,是因为时间复杂度 (因为我在自己的mac上运行它,但它给出了与ac相同的答案) 如何计算第一个解决方案的时间复杂度, 它是O(NlogN)吗?我不

  • 我有下面的代码用于在Python中计算一个数的阶乘。但我不明白为什么我得到的答案是1。有人能纠正我的代码吗。我想在不使用递归的情况下计算阶乘。

  • 计算一个数字的阶乘。 使用递归。如果 n 小于或等于 1 ,则返回 1 。否则返回 n 和 n - 1 的阶乘。如果 n 是负数,则会引发异常。 const factorial = n => n < 0 ? (() => { throw new TypeError('Negative numbers are not allowed!'); })()

  • 本文向大家介绍详解JAVA 连等赋值问题,包括了详解JAVA 连等赋值问题的使用技巧和注意事项,需要的朋友参考一下 一、描述 关于 Java 连等赋值,例如a=b=c;我们知道它是从右往左依次赋值的,其结果大致可以拆分为b=c;a=b;,但是当栈中没有持有变量的引用时,则会出现问题,例如: 如果将以上n1.n = n1 = new Node(nn, 3);拆分后: 二、分析 1. 初始情况 2.