gpt4 book ai didi

Java 打印阶乘 1-30

转载 作者:行者123 更新时间:2023-11-30 06:49:54 25 4
gpt4 key购买 nike

我想做的就是打印阶乘数字 0-30。当我运行它时,它会无休止地打印 Factorial=0。有人可以告诉我如何纠正这个问题吗?

public static void factor(){

int n=0;
int factorial = 1;
while (n<=0&n<=30)
{
n=n++;
factorial = factorial * n;
n--;
System.out.println("Factorial = " + factorial);
}


}


public static void main(String[] args) {
factor();
}

最佳答案

您在循环内递减 n,因此它将始终在 01 之间翻转。此外,int 无法容纳如此大的数字,long 也不能。您必须使用更智能的东西,例如 BigInteger :

int n = 0;
BigInteger factorial = BigInteger.ONE;
while (n <= 30) {
System.out.printf("Factorial(%d) = %s%n", n, factorial);
n++;
factorial = factorial.multiply(BigInteger.valueOf(n));
}

关于Java 打印阶乘 1-30,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43018225/

25 4 0
文章推荐: javascript - 如何解析使用 YUI 数据源返回的 NULL 值
文章推荐: java - 内蒂。 bootstrap.connect 成功后的 channel 是否为 Activity channel ?
文章推荐: java - JTextArea如何查找列数/行宽?
文章推荐: java - 两个实体上的 JPA/Hibernate 双向 Set