如何在不定义元素的情况下填充2D字符数组?

时间:2017-10-30 20:50:21

标签: java arrays eclipse multidimensional-array

我希望为给定大小的“机器人竞技场”制作一个2D字符数组。

我有两个函数,getY和getX返回(int)竞技场的x和y最大坐标,即大小30乘10,我想制作水平墙' - ',垂直墙'|'和对角墙在右下角和左上角的4个边缘'/'和左下角和右上角的'\'。所有其他元素都可以是空格。

我尝试过使用嵌套for循环,但它出错了。谢谢

1 个答案:

答案 0 :(得分:1)

public class GenerateBoard {
  public static void main(String[] args)
  {
    int xRow = 10;
    int yCol = 10;
    char[][] board = new char [xRow][yCol];

    for(int x = 0; x < xRow; x++) {
      for(int y = 0; y < yCol; y++) {
        if (x == 0 || x==(xRow-1))  // Sets top and bottom rows to -
            board[x][y] = '-';
        else if (y == 0 || y==(yCol-1)) // Sets left and right rows to |
          board[x][y] = '|';
        else
            board[x][y] = ' ';  // Fills other spaces with ' '
      }
    }

    board[0][0] = '/';  //Top left
    board[0][yCol-1] = '\\';  //Bottom Left
    board[xRow-1][0] = '\\'; //Top right
    board[xRow-1][yCol-1] = '/'; //Bottom Right

    //Print Board
    for(int x = 0; x < xRow; x++) {
      for(int y = 0; y < yCol; y++) {
        System.out.print(board[x][y]);
      }
      System.out.println();
    }
  }
}

输出:

/--------\
|        |
|        |
|        |
|        |
|        |
|        |
|        |
|        |
\--------/