【发布时间】:2012-10-28 02:05:14
【问题描述】:
我正在尝试阅读此代码的输出,但这对我来说根本没有意义。
即使在得知没有大括号的循环只循环第一行之后,输出仍然毫无意义。有些数字可以,但有些数字却没有。
我的代码:
int n = 8;
int i = 1;
int j = 1;
j = n + 2;
System.out.println (n + " " + i + " " + j );
while (n > 1)
{
n = n/2;
for (i = 2; i <= n; i = i+2)
System.out.println (n + " " + i + " " + j );
j++;
}
System.out.println (n + " " + i + " " + j );
它输出:
8 1 10
4 2 10
4 4 10
2 2 11
1 2 13
我得到了 8-1-10 和 4-2-10
但是在那之后的任何事情,我都很难过,我不明白计算机是如何计算其余部分的。
有人介意和我一起逐步完成剩下的输出吗?
提前致谢。
【问题讨论】:
-
使用调试器执行代码,一步一步来了解程序的作用。
-
最好的办法是在每个 System.out 中添加一些额外的文本,而不是精确的复制/粘贴。这为您提供了一些关于正在执行哪个 System.out 的线索。
标签: java for-loop while-loop