如何在 TextArea 中打印二维数组

how to print 2D array in TextArea

大家好,我需要一些帮助,我想使用 JButton 将 2D 数组打印到 JTextArea 中。我有这个方法:

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("");

        }

            }

但是没用

您的代码有几个问题:

  • 您在两次迭代中都使用了 array.length(在其中一种情况下您应该使用 array[0].length
  • 您在问题的 "I tried it with this" 部分使用了 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 与它打印到控制台的文本区域无关。

不清楚是要将数组写入控制台还是文本区域。