簡體   English   中英

HeadFirst Java MixFor5 練習 - break 子句

[英]HeadFirst Java MixFor5 excercise - break clause

我一直在努力解決 Java Headfirst 書(CH5:p121 供參考)中練習的 break 子句方面。 我了解當 break 子句未啟動時下面的代碼如何工作,但是當它啟動時,我沒有得到我預期的結果。
有人可以引導我完成這個嗎?

我知道當輸入值為x = x + 0x = 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;

希望這會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM