为什么我的数组不会填充'?'?

时间:2014-04-17 04:45:32

标签: java arrays 2d

    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数组中的输出?

4 个答案:

答案 0 :(得分:3)

在致电displayPattern之前,您必须在某处填写被子。即。

displayPattern(myBlock);
fillQuilt(myQuilt);
displayPattern(myQuilt);

答案 1 :(得分:1)

问题:您定义了fillQuilt(...)方法,用填充问号字符填充数组,但是您在哪里调用此方法?

答案:你没有(至少你没有表现出来),如果它从未被召唤过,它将永远无法做到。解决方案是调用fillQuilt方法,在需要它的地方传入myQuilt来执行其操作:fillQuilt(myQuilt);。理解编程从字面上理解:他们只做你明确编程的事情,而不是更多。

答案 2 :(得分:0)

我在fillQuilt()中看不到您对main方法的任何调用。

答案 3 :(得分:0)

在打印之前,你不必在某处调用fillQuilt()吗?