2016-11-08 76 views
-3

我正在使用ASCII藝術製作鑽石。是的,我知道代碼不是馬虎。無論如何,最後一部分沒有在其他塊的內部運行,導致鑽石未完成。 全碼: http://pastebin.com/14HnZADe爲什麼這個代碼塊不能運行?

電流輸出:

http://pastebin.com/YTqKrRQe

for循環:

for(int i = 1; i<=size; i++) { 
    for(int j=1; j<=size; j++) { 
     if(j<i) { 
      System.out.print(" "); 
     } 
     else if(j==i || j>i) { 
      System.out.print("*"); 
     } else {//this block is not executing, and I do not know why. 
      for(int ki = 1; ki<=size; ki++) { // how do I fix it? 
       for(int n = size; n>=1; n--) { 
        if(j>=i) { 
         System.out.print("*"); 
        } else { 
         System.out.print(" "); 
        } 
       } 
      System.out.println(); 
      } 
     } 
    } 
    System.out.println(); 
} 
+1

這不是'免費調試我的代碼'服務!有一個問題關閉類別專門針對您的問題類型指定,稱爲「爲什麼不能使用此代碼?」。 –

+0

請在這裏發佈您的代碼... – brso05

+0

@ brso05他不需要,因爲它很快就會關閉。 –

回答

1

你的一個條件都有它到達else塊之前必須滿足:

if(j<i) { 
    System.out.print(" "); 
} 
else if(j==i || j>i) { 

j小於i或大於i或等於i。指定了所有可能的條件,因此else永遠不會執行...

0

你有

if (j<i) { 
    //.. 
} else if (j==i || j>i) { 
    // .. 
} else { 
    // this will never happen 
} 

j==i || j>i相同j>=i。 else塊永遠不會執行,因爲j總是小於i或大於或等於i。沒有其他選擇!

相關問題