Было бы полезно, если бы вы опубликовали бы короткую, но полную программу, которая продемонстрировала проблему. Размещенного вами кода недостаточно, чтобы вызвать исключение, но я вижу, как с несколькими изменениями это может произойти.
В частности, мне кажется странным, что вы объявляете новую локальную переменную в вашем reset
методе ... и у вас также есть переменная экземпляра с именем board
? Я подозреваю, что решение может быть так же просто, как изменить начало reset
на:
board = new Color[rows][cols];
Если ваш реальный код использует локальную переменную для создания массива, но затем пытается присвоить значения через переменную экземпляра, это вполне может быть причиной проблемы.
Также кажется неправильным, что вы передаете rows
и cols
в метод и используете эти параметры в одном месте, но переменные экземпляра this.rows
и this.cols
в цикле. Зачем вообще их пропускать?