如何在 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
与它打印到控制台的文本区域无关。
不清楚是要将数组写入控制台还是文本区域。
大家好,我需要一些帮助,我想使用 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
与它打印到控制台的文本区域无关。
不清楚是要将数组写入控制台还是文本区域。