2016-04-12 5 views
0

Я пытаюсь нарисовать сетку 4x4, используя 2D-массив. Когда я запускаю код, я рисую квадрат в левом нижнем углу. Я думаю, что проблема может быть связана с моей координатой y, но я не совсем уверен.Draw a 4x4 Grid Java

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

Вы рисуете все 16 точек, в том же месте '(0,0)' ', потому что new int [4] [4] 'создает массив всех нулей. –

ответ

3

Разве это не потому, что ваш многомерный массив сетки - это все 0 из-за инициализации по умолчанию? Вы рисуете четыре квадрата в коорд 0,0 с размером 1.

+0

Это ответ или вопрос? –

+0

Я бы сказал, что это ответ, @ IngoBürk. Некоторая тривиальная грамматика делает ее похожей на вопрос, но это не имеет значения в долгосрочной перспективе, пока она может решить проблему. – DavidS

0

Я получил эту работу:

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); 
    } 
} 
+0

Хорошая работа, inda1. Если ответ Барри помог вам решить вашу проблему (я думаю, что так и было), подумайте о том, чтобы правильно отнести его ответ или перенести его или что-то в этом роде. – DavidS