我希望为给定大小的“机器人竞技场”制作一个2D字符数组。
我有两个函数,getY和getX返回(int)竞技场的x和y最大坐标,即大小30乘10,我想制作水平墙' - ',垂直墙'|'和对角墙在右下角和左上角的4个边缘'/'和左下角和右上角的'\'。所有其他元素都可以是空格。
我尝试过使用嵌套for循环,但它出错了。谢谢
答案 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();
}
}
}
输出:
/--------\
| |
| |
| |
| |
| |
| |
| |
| |
\--------/