2016-04-28 2 views
0

Для тестирования, если моя логика работает (я думаю, что это должно быть, но это не так) Я делаю небольшие операции в методе рисования, я просто не хотел путать мой основной проект ,2D-индекс-массив за пределами

У меня есть позиции X и Y плитки на доске и просто хочу убедиться, что у меня есть право X и Y, так что я сделал этот метод:

private void drawBoard(Graphics2D g2d) throws IOException { 
    BufferedImage image = ImageIO.read(getClass().getResourceAsStream("/background.png")); 
    g2d.drawImage(image,0,0, null,null); 
    int col = 2; 
    int rows = 6; 
    int[][] RedArray = 
     {{274, 399}, 
     {274, 440}, 
     {274, 480}, 
     {274, 520}, 
     {274, 560}, 
     {274, 600}}; 

    for(int i = 0; i < col; i++){ 
     for(int j = 0; i < rows; j++){ 
      g2d.drawRect(RedArray[rows][col], RedArray[rows][col], 25, 25); 
     } 
    } 

} 

это, как предполагается, чтобы получить х, у значения из RedArray, а затем нарисовать их на доске, но я получаю индекс из связанной ошибки, и я не могу показаться, что он его ударил

ответ

2

В вашем втором цикле у вас есть строки <, должен быть j < такие строки:

for (int j = 0; j < rows; j++) 

Также RedArray[rows][col] должен быть RedArray[j][i]

+0

Христа .. как же я скучаю, что .. –

+0

Это не актуальная проблема. 'RedArray [rows] [col]' должен быть 'RedArray [j] [i]' –

+1

@PigeonMilk Stories, я понимаю ваше разочарование, но, пожалуйста, используйте, не берите имя Христос напрасно здесь, спасибо! – Cameron637

2
RedArray[rows][col] 

Вы хотите i и j здесь, не rows и col.

+0

Я такой тупик .. –

0

Я думаю, что вы хотите сделать что-то вроде этого

private void drawBoard(Graphics2D g2d) throws IOException { 
BufferedImage image = ImageIO.read(getClass().getResourceAsStream("/background.png")); 
g2d.drawImage(image,0,0, null,null); 
int col = 2; 
int rows = 6; 
int[][] RedArray = 
    {{274, 399}, 
    {274, 440}, 
    {274, 480}, 
    {274, 520}, 
    {274, 560}, 
    {274, 600}}; 

for(int i = 0; i < col; i++){ 
    for(int j = 0; j < rows; j++){ 
     g2d.drawRect(RedArray[j][i], RedArray[j][i], 25, 25); // not RedArray[rows][cols] 
    } 
} 

}

Смежные вопросы