【发布时间】:2015-10-04 02:31:29
【问题描述】:
考虑以下代码:
int number;
double factorial = 1.0;
for(int i=2; i<=5; i++)
{
factorial *=i;
System.out.println(number + "! = " + factorial );
}
为什么是输出
2.0
6.0
24.0
120.0
我知道从 2 点到 5 点。
【问题讨论】:
-
问题不清楚,但你看到 2.0 而不是 2 的原因是因为阶乘是双精度数,而不是整数。默认情况下它会像这样打印出来。
-
你知道什么是阶乘吗?你知道 4!=24 和 5!=120 吗?
-
就像@ergonaut 所说,这不是一个非常明确的问题。编辑它以解决您关于相关代码的具体问题,并显示完整的输出,而不是截断的版本。
-
我打算乘以双倍,但我还不明白为什么我得到 6.0 / 24.0 / 120.0 因为我知道 1.0*2=2.0 秒应该是 1.0*3 =3.0,但我得到了 6.0 为什么???其余 24.0 和 120.0
-
如何获得输出..?代码一定是编译错误。变量号未初始化..