gpt4 book ai didi

java - 循环多次运行后将输入重复平方,将输出转为零,我做错了什么?

转载 作者:行者123 更新时间:2023-11-30 07:05:51 27 4
gpt4 key购买 nike

我编写这个循环是为了继续对一个数字进行平方,直到它超过 1000000。

while(n<1000000){
n=n*n;
System.out.println(n);
count++;
}

但是,当我输入 2 时,它会正确执行前 4 个方格,然后无限输出零。我不知道为什么,因为我是编程新手,希望得到一些帮助。

最佳答案

int 的最大值是 2147483647。65536*65536 的结果会溢出到 0。之后你就永远只乘 0*0 了。

看看 Java spec了解有关原始类型可能值的更多信息:

4.2.1。整数类型和值

The values of the integral types are integers in the following ranges:

  • For byte, from -128 to 127, inclusive
  • For short, from -32768 to 32767, inclusive
  • For int, from -2147483648 to 2147483647, inclusive
  • For long, from -9223372036854775808 to 9223372036854775807, inclusive
  • For char, from '\u0000' to '\uffff' inclusive, that is, from 0 to 65535

编辑:正如 Andreas 在他的评论中所描述的,如果你使用 long 它将起作用。

关于java - 循环多次运行后将输入重复平方,将输出转为零,我做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40142967/

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