Java打印阶乘1-30
我所要做的就是打印 数字0-30。当我运行它时,它会无休止地打印阶乘=0。有人能告诉我怎么改正吗Java打印阶乘1-30,java,factorial,Java,Factorial,我所要做的就是打印 数字0-30。当我运行它时,它会无休止地打印阶乘=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 =
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();
}
公共静态空隙系数(){
int n=0;
整数阶乘=1;
当(n你在循环中递减n
时,它总是在0
和1
之间切换。此外,int
不能容纳这么大的数字,也不能容纳长的
。你必须使用更智能的工具,比如:
int n=0;
BigInteger阶乘=BigInteger.1;
而(n删除n--
。另外,x*0=0
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));
}