2017-10-16 70 views
-5

爲什麼此代碼生成7個結果,而它應該是6個結果?Java生成的結果數

public class Testowanie { 

    public static void main(String[] args) { 
     int x = 1; 
     while (x < 10) { 
      x = x + 1; 
      if (x > 3) { 
       System.out.println("Wielkie X"); 
      } 
     } 
    } 
} 
+2

'x = 4,5,6,7,8,9,10',它們是7結果。他們應該是7而不是6,是什麼讓你認爲他們是6?我建議你手動調試或使用調試器 – Frakcool

+0

我期望你所要找的是'if(x> 3 && x <10)',那麼你會得到你期待的結果。 – bated

回答

1

1到10,如果(X> 3)不敵[4,5,6,7,8,9,10]

的probleme這可能是在那裏你增加你的X,嘗試把它放在最後,你會得到6個結果。

public static void main(String[] args) { 
int x = 1; 
while (x < 10) { 

    if (x > 3) { 
     System.out.println("Wielkie X"); 
    } 
    x = x + 1; 

} 

}

更確切地說,當你開始使用X = 3,首先你遞增X(X = 4)while循環,所以你儘管你開始你的循環打印文本x = 3。 依此類推直到9,在9開始你的循環,增加x(x = 10)通過你的條件(x> 3)並打印。這是你的最後一個循環,x值現在爲10.所以你從3到10打印,簡單的數學10-3 = 7

+0

謝謝!最後的評論明確表示。 – Jack88