2015-10-04 84 views
-2

所以我需要使用for循環顯示三角形..出於某種原因代碼正在編譯,但是當我運行程序時什麼也沒有發生。循環是無用的,但我必須使用for循環來顯示它作爲我的練習的一部分。在for循環中使用方法

public class TrianglesUsingLoops { 
    public static void main(String[] args) {  
     for (int n = 0;n>=2;n++){ 
      upperTriangle(); 
      lowerTriangle(); 
     } 
    } 
    public static void upperTriangle(){ 
     System.out.println(" * "); 
     System.out.println(" *** "); 
     System.out.println("*****"); 
    } 
    public static void lowerTriangle(){ 
     System.out.println("*****"); 
     System.out.println(" *** "); 
     System.out.println(" * "); 
    } 
} 
+3

I thi你的意思是你的循環中'n <= 2'而不是'n> = 2'。 – Tunaki

+4

由於上述原因,您的循環會執行零次迭代,因爲終止條件在開始時就已滿足。 –

回答

1

它沒有任何displaing的原因是因爲顯示的方法是你的循環內,並且在循環的statments永遠不會被執行。

該行:for (int n = 0;n>=2;n++){表示n=0n>=2。這從來不會發生,因爲n的初始值是0,n永遠不會大於或等於2,因此方法調用繪製三角形從不執行。

如果你真的想使用的循環,你可以把它改成這樣的:

for (int n = 0; n < 2; n++){ 
... 
... 
... 

這樣的循環至少執行一次。

希望這會有所幫助。

0

讓我們跟蹤n: 初始化:n = 0; condition:0> = 2:no:break

0

在for循環中,只要條件爲TRUE就會運行,它會在第一個FALSE處停止。

這不是一個條件,當它是真的時會停止循環。

這將運行5次:

for(int i = 0; i < 5; i++){ 
// code here 
} 

0 < 5 = true 
1 < 5 = true 
2 < 5 = true 
3 < 5 = true 
4 < 5 = true 
5 < 5 = false 

這將不會運行:

for(int i = 0; i > 5; i++) 

0 > 5 = false 

,這將創建一個死循環:

for(int i = 2; i > 1; i++) 

i總是會更大比1.

+1

最後一個例子也不會運行, – Andreas

+0

對不起,更正了它。 – x13

+0

當迭代達到MAX_VALUE時,'i'將小於1。 – Andreas