大家好我需要一些帮助我想用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("");
}
}
但它不起作用
答案 0 :(得分: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。