2017-10-16 90 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