【发布时间】:2019-05-21 04:16:02
【问题描述】:
我想创建一个程序来查找系列中所有数字的阶乘总和,直到 20。 我必须在 s = 1 + (1*2) + (1*2*3) + ...(1*2*3...20) 中找到“s”。 我尝试了一个程序,但它不起作用。我正在使用 BlueJ IDE。
int a =1;
int s = 0;
for(int i = 1; i <= 10; i++)
{
while (i >0)
{
a = a * i;
i--;
}
s = s+a;
}
System.out.println(s);
编译器没有显示任何错误消息,但是当我运行程序时,JVM(Java 虚拟机)一直在加载,并且没有显示输出屏幕。
【问题讨论】:
-
为您的内部循环使用不同的变量。您的外部循环正在尝试增加
i,但您的内部循环正在减少它 -
你的 while 循环是一个无限循环。