繁体   English   中英

标记2D Java数组

[英]Labeling a 2D java array

我创建了一个2D数组,并希望打印输出。 我要标记列和行。 我已经标记了行。 但我不知道如何标记列。 链接到此:

   A B C D E F 

第1行* * * * * * *
第2行* * * * * * *
第3行* * * * * * *
第4行* * * * * * *
第5行* * * * * * *
第6行* * * * * * *
第7行* * * * * * *
第8行* * * * * * *
第9行* * * * * * *
第10行* * * * * * *
第11行* * * * * * *
第12行* * * * * * *
第13行* * * * * * *

就像我说的,我有行和*,但是如何在列上得到A bc标签。

 for(int i = 1; i < 13; i++)
 {
    System.out.print("Row " + i + " " );

     for(int j = 0; j < 6; j++)
     { 
        System.out.print(seats[i][j] + " ");

      }
        System.out.println(); //for spacing 
   }

假设您知道有多少列并且少于26列,则可以将其添加到代码的开头...

for (int j = 0; j < seats[0].length; j++)
    System.out.print(((char) ('A' + j)) + "\t");
System.out.println();

超过26岁稍微复杂一点,如果需要的话,请告诉我。

只需添加类似

System.out.println("       A B C D E F");

在问题所示的循环之前。

我假设数组的每个元素都是单个字符宽,如果不是这种情况,请相应地进行调整。 此外,前导空格还要考虑在随后的每一行中显示的“ Row ##”标题。

同样,[与问题无关],而不是使用硬编码的值作为循环的限制(此处为6和13),而是使用数组的length属性 ,即

 for(int i = 1; i < seats.length; i++)
 {
    System.out.print("Row " + i + " " );

     for(int j = 0; j < seats[i].length; j++)
     { 
        System.out.print(seats[i][j] + " ");

      }
      System.out.println(); //for spacing 
   }

您可能需要做两件事-创建标签并格式化输出。 要创建标签,我会做类似的事情

char a = 'A';
for(int j = 0; j < 6; j++) {
    char label = a+j;
    System.out.print(label);
    System.out.print(" ");
}
System.out.println();

但这会产生混乱的输出。

我将亲自创建一个HTML表格来进行格式设置-自己计算很麻烦。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM