我正在尝试使用2D数组绘制一个4x4网格。当我运行代码时,我只在左下角画一个正方形。我认为问题可能与我的y坐标有关,但我不完全确定。
StdDraw.setScale(0,4);
int[][] grid = new int[4][4];
for (int x = 0; x < grid.length; x++)
{
for (int y = 0; y < grid[0].length; y++)
{
StdDraw.setPenColor(StdDraw.BLUE);
StdDraw.filledSquare(grid[x][y], grid[x+1][y+1], 1);
}
}
这不是因为您的多维网格数组由于默认初始化而全部为0吗?您正在坐标0,0处绘制四个尺寸为1的正方形。
我开始工作了:
StdDraw.setScale(0,4);
int[][] grid = new int [4][4];
for (int x = 0; x < grid.length; x++)
{
for (int y = 0; y < grid.length; y++)
{
grid[x][y] = 255;
}
}
for (int x = 0; x < grid.length; x++)
{
for (int y = 0; y <grid.length; y++)
{
StdDraw.square(x, y, 1);
}
}