如何在2d数组中显示行号和列号?

时间:2014-10-20 22:10:25

标签: java arrays multidimensional-array

我目前有一个所有'?'的二维数组,显示如下:

 ? ? ? 
 ? ? ? 
 ? ? ? 

我需要显示行和列,但我无法弄清楚这样做的正确方法。有人可以告诉我要添加什么使它看起来像这样:

  0 1 2 
0 ? ? ? 
1 ? ? ?
2 ? ? ?

以下是我目前只需显示'?'

的代码
 // initialize the contents of board
       for ( int i = 0; i < board.length; i++){
           for (int j = 0; j < board[i].length; j++){
               board[i][j] = '?';
           }
       }

 //Print board
       for(int i = 0; i<board.length;i++)
       {
           for(int j = 0; j<board[0].length;j++)
           {
               System.out.print(board[i][j] +"  ");
           }
           System.out.println();
       }

3 个答案:

答案 0 :(得分:2)

查看以下代码:

//打印板

System.out.printf("%-4s", "");
for (int i = 0; i < board[0].length; i++) {
    System.out.printf("%-4d", i);
}
System.out.println();
for (int i = 0; i < board.length; i++) {
    System.out.printf("%-4d", i);
    for (int j = 0; j < board[0].length; j++) {
        System.out.printf("%-4c", board[i][j]);
    }
    System.out.println();
}

输出

    0   1   2   3   4   
0   ?   ?   ?   ?   ?   
1   ?   ?   ?   ?   ?   
2   ?   ?   ?   ?   ?   
3   ?   ?   ?   ?   ?   
4   ?   ?   ?   ?   ? 

答案 1 :(得分:0)

在// Print Board循环之前,有一个循环打印列标题。只需迭代它board.lengh + 1次,第一次打印空白

在你的两个for循环之间,打印你的行号,这就是我

答案 2 :(得分:0)

试试这个:

System.out.print("  ");
for(int i = 0; i < board[0].length; i++){
  System.out.print(i + " ");
}
System.out.println();

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