2015-05-22 36 views
0

大家好我需要一些幫助我想用JButton將二維數組打印到JTextArea中。我有這種方法:如何在TextArea中打印二維數組

public static void getMaze(){ 
    for(int i = 0; i<rows; i++) 
for(int j = 0; j<columns; j++) 
    array[i][j] = "[]"; 

    array [i3][i4]="# "; 
    array [i5][i6]="# "; 
    array [i7][i8]="# "; 
    array [i9][i10]="# "; 
    array [i11][i12]="# "; 
    array [i13][i14]="# "; 

    array [0][0]="S ";   //start 
    array [i1-1][i1-1] =" C"; //cil 

for(int i = 0; i<rows; i++) 
{ 
for(int j = 0; j<columns; j++) 
{ 
    System.out.print(array[i][j]+" "); 
} 
System.out.println(""); 
} 

} 

其中i3-i14是隨機數。我這個

btn1.addActionListener(new ActionListener() { 

    @Override 
    public void actionPerformed(ActionEvent e) { 
     for (int i=0;i<array.length;i++){ 
      for(int j=0;j<array.length;j++){ 

       System.out.println(array[i][j]+" "); 

    ta1.append(String.valueOf(array[rows][columns])); 
    } 
      System.out.println(""); 

     } 

      } 

嘗試過,但它不工作

回答

0

你的代碼中有幾個問題:

  • 您在這兩個反覆使用array.length(你應該在這些情況下,一個使用array[0].length
  • 您在問題的「我試過這個」部分使用了System.out.println,這將導致總是打印一個新的行

你嘗試是否

for(int i = 0; i<rows; i++) { 
    for(int j = 0; j<columns; j++) { 
     System.out.print(array[i][j]+" "); 
    } 
    System.out.println(""); 
} 

的作品?因爲它似乎這樣做。

當然,你應該在你的內迭代完成時在你的ta1(文本區域我想)插入一個換行符。 System.out.println與打印到控制檯的textarea無關。

不清楚是否要將數組寫入控制檯或textarea。

+0

哇現在我明白我怎麼會如此盲目謝謝 – user4919580