后端程序与扫描仪输入配合使用,只打印矩阵,但我有图形问题。当我在其中制作带椭圆形的矩形时,效果很好,但是当我将二维数组引入故事中时,我将其中的部分填充其他颜色,抛出“线程中的异常”AWT-EventQueue-0“java.lang。 ArrayIndexOutOfBoundsException:6“。我尝试将它放在不同的地方并以其他顺序调用它,但它总是抛出此异常
编辑:这只是一个原型代码,需要做更多的工作,但我需要继续处理这个错误。完整堆栈跟踪:
TabBar
答案 0 :(得分:1)
在索引棋盘[]
时,您正在混合行和列 for(int i = 0; i < COL; i++){
for(int j = 0; j < ROWS; j++){
g.setColor(Color.BLUE);
g.fillRect( (i*SQUARE_SIZE),(j * SQUARE_SIZE+SQUARE_SIZE),SQUARE_SIZE,SQUARE_SIZE);
if(board[i][j] == 0){
g.setColor(Color.BLACK);
g.fillOval( (i*SQUARE_SIZE),(j*SQUARE_SIZE +SQUARE_SIZE),CIRCLE_WIDTH_HEIGHT,CIRCLE_WIDTH_HEIGHT);
}else if(board[i][j] == 1){
g.setColor(Color.RED);
g.fillRect( (i*SQUARE_SIZE),(j * SQUARE_SIZE+SQUARE_SIZE),SQUARE_SIZE,SQUARE_SIZE);
}else if(board[i][j] == 2){
g.setColor(Color.YELLOW);
g.fillOval( (i*SQUARE_SIZE),(j*SQUARE_SIZE +SQUARE_SIZE),CIRCLE_WIDTH_HEIGHT,CIRCLE_WIDTH_HEIGHT);
}
}
}
它应该是board [j] [i],或者只是在循环语句中交换他们的角色