我一直在努力解决 Java Headfirst 书中的一个练习的 Break 子句方面(CH5:p121 供引用)。我了解以下代码在未启动中断子句时如何工作,但在启动时,我没有得到预期的结果。
有人可以引导我完成这个吗?
据我了解,当输入值为 x = x + 0
或 x = x + 6
时,应激活 break 子句
下面是练习代码
class MixFor5 {
public static void main (String [] args) {
int x = 0;
int y = 30;
for (int outer = 0; outer < 3; outer++) {
for (int inner = 4; inner > 1; inner--) {
x = x + 0; //input value
y = y - 2;
if (x == 6) {
break;
}
x = x + 3;
}
y = y - 2;
}
System.out.println((x + " " + y));
}
}
我的理解是,如果 x == 6,内部循环就会中断,因此内部循环中的所有内容都将停止,包括额外的 x = x + 3
对于 x = x + 0。我的预期结果是 x = 6 | y = 18(实际结果 x = 6 | y = 14)
对于 x = x + 6。我的预期结果是 x = 6 | y = 22(实际结果 x = 60 | y = 10)
谢谢
最佳答案
对于 x = x + 0
outer = 0;
inner = 4;
x=x+0, x!=6;
x=x+3=3;
y=30-2=28;
inner = 3;
x=3;
y=28-2=26;
3 != 6;
x=3+3;
inner = 2;
x==6;
y=24;
break;
y=22;
outer=1;
inner=4;
x==6;
y=20;
break;
y=18;
outer=2;
inner=4;
x==6;
y=16;
break;
y=14;
对于 x=x+6
outer=0;
inner=4;
x=6;
y=28;
break;
y=26;
outer=1;
inner=4;
x=6+6+3;
y=24;
inner=3;
x=15+6+3;
y=22;
inner=2;
x=33;
y=20;
y=18;
outer=2;
inner=4;
x=42;
y=16;
inner=3;
x=51;
y=14;
inner=2;
x=60;
y=12;
y=10;
希望这会有所帮助。
关于java - Head First Java Mix For 5 练习 - 中断子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59395673/