gpt4 book ai didi

java - for 循环中的 index*int 如何以零结束?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:46:13 24 4
gpt4 key购买 nike

我们只是为了好玩而尝试创建一个如下所示的 for 循环。我们假设我们得到的数字会非常高,但我们得到了 0。为什么它是 0 而不是大的东西?我们甚至用 long 尝试了它,因为我们认为它可能比 int 大。提前致谢。

private static void calculate() {
int currentSolution = 1;
for (int i = 1; i < 100; i++) {
currentSolution *= i;
}
System.out.println(currentSolution);
}

最佳答案

您的 int 在到达 +2147483647 时环绕到 -2147483648

由于一个惊人的巧合1,您的产品中引入了零乘法。

自己看:写

if (currentSolution == 0){
// What is the value of i?
}

你需要一个 BigInteger 来计算 100!。


1 真的没那么神奇:就是那 100!有 232 作为一个因素。

关于java - for 循环中的 index*int 如何以零结束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45584369/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com