Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HeadFirst Java MixFor5 exercise-break子句_Java_Loops_For Loop - Fatal编程技术网

HeadFirst Java MixFor5 exercise-break子句

HeadFirst Java MixFor5 exercise-break子句,java,loops,for-loop,Java,Loops,For Loop,我一直在努力解决Java Headfirst手册(参考CH5:p121)中一个练习的break子句方面。我理解以下代码在未启动break子句时的工作原理,但在启动break子句时,我没有得到预期的结果。 有人能带我走一下吗 我理解,当输入值为x=x+0或x=x+6 下面是练习代码 class MixFor5 { public static void main (String [] args) { int x = 0; int y = 30;

我一直在努力解决Java Headfirst手册(参考CH5:p121)中一个练习的break子句方面。我理解以下代码在未启动break子句时的工作原理,但在启动break子句时,我没有得到预期的结果。
有人能带我走一下吗

我理解,当输入值为
x=x+0
x=x+6

下面是练习代码

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));
    }
}
class MixFor5{
公共静态void main(字符串[]args){
int x=0;
int y=30;
对于(int-outer=0;outer<3;outer++){
对于(int-inner=4;inner>1;inner--){
x=x+0;//输入值
y=y-2;
如果(x==6){
打破
}
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;

希望这会有所帮助。

我不知道这是如何回答“理解下面的代码是如何工作的”这个问题的。你可能想读书。