gpt4 book ai didi

java - 这两个程序有多少结果?为什么?

转载 作者:行者123 更新时间:2023-12-01 16:42:37 26 4
gpt4 key购买 nike

//Number 1
int x = 2;
while (x < 200) {
System.out.println(x + " ");
x *= x;

输出:3

//Number 2
String word = "a";
while (word.length() < 10) {
word = "b" + word + "b";
}

System.out.println(word);

输出:bbbbbabbbbb

数字1:为什么输出是3?我正在做 2*2*2*2*2*2*2 = 128。因此,我认为答案应该是 7?

第二号:那里发生了什么?结果是“零”、“无穷大”、“未知”还是一个数字?为什么?

最佳答案

对于 Number#1,您没有乘以 2 因子但相反,您正在乘以 x凭借 x 的力量

iteration #0 - x = 2
iteration #1 - x = 4
iteration #2 - x = 16
iteration #3 - x = 256

更改x *= x;x *= 2;

对于 Number#2,只需使用调试器来查看您实际在做什么:

iteration #1 - word = "bab";
iteration #2 - word = "bbabb";
iteration #3 - word = "bbbabbb";
iteration #4 - word = "bbbbabbbb";
iteration #5 - word = "bbbbbabbbbb";

word的长度现在大于 10,因此停止

关于java - 这两个程序有多少结果?为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60309866/

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