2014-04-17 339 views
2
public class MakeQuilt { 

public static void main (String[] args){ 

    char [][] myBlock = new char [4][5]; 
    char [][] myQuilt = new char [12][4]; 

    for(int row = 0; row < myBlock.length; row++){ 
     for(int column = 0; column < myBlock[row].length; column++){ 
     if(column == 0 || row == 3) 
      myBlock[row][column]='X'; 
     else if(row == column || (row == 2 && column == 1)) 
      myBlock[row][column]='+'; 
     else 
      myBlock[row][column]='.';  
     } 
    } 
    displayPattern(myBlock); 
    displayPattern(myQuilt); 
    } 



    public static void displayPattern(char[][] myBlock){ 

    for(int row = 0; row < myBlock.length; row++){ 
     for(int column = 0; column < myBlock[row].length; column++){ 
     System.out.print(myBlock[row][column]); 
      } 
      System.out.println(); 
     } 
     System.out.println();  
    } 

    public static void fillQuilt(char[][] myQuilt){ 
    for(int row = 0; row < myQuilt.length; row++){ 
     for(int column = 0; column < myQuilt[row].length; column++){ 
     myQuilt[row][column] =('?'); 
     } 
    } 
} 
} 

似乎無法弄清楚爲什麼我的char數組myquilt不會填滿問號,而是什麼都不填充? (輸出顯示一串0)。不知道如何改變displayPattern方法在myQuilt數組中輸出?。爲什麼我的數組不填充'?'?

+0

它沒有填滿問號,因爲沒有填充問號。 – immibis

回答

3

在致電displayPattern之前,您必須在某處填充被子。即

displayPattern(myBlock); 
fillQuilt(myQuilt); 
displayPattern(myQuilt); 
+0

doh!現在就開始工作了。謝謝! – user3543798

+0

歡迎您... – iMBMT

1

問題:您可以定義fillQuilt(...)方法,您可以在其中填充帶有問號字符的數組,但您從哪裏調用此方法?

答:你不(至少你不顯示它),如果它從來沒有被調用,它將永遠不會做它的事情。解決方法是調用fillQuilt方法,在需要執行其操作的地方傳入myQuilt:fillQuilt(myQuilt);。理解編程需要的東西非常字面:他們只做你明確規劃他們做的事情,沒有什麼更多的。

0

我看不到你的mainfillQuilt()方法的調用。

0

在打印之前,您是否需要在某處調用fillQuilt()?

相關問題