В чем причина этого условия в конструкторе?:
if(size < 1 || size % 2 == 0)
{
System.out.print("Order out of range");
order = 3;
}
Обратите внимание, что всякий раз, когда вы используете вход размера, который не удовлетворяет условию if, порядок переменных не инициализируется и по умолчанию равен0. В результате массив 2d имеет нулевой размер и выбрасывает ошибку «за пределами».Если вы пытаетесь использовать 3 в качестве значения по умолчанию, то вы хотите переместить строку:
order = 3;
перед блоком if.
Другие вопросы, которые следует учитывать: 1. сделать заказпеременная окончательная, так как вы не планируете ее менять.Eclipse IDE предупредит вас о ситуации, описанной выше, если вы сделаете это.
или 2. Если вы собираетесь установить значение порядка по умолчанию 3, инициализируйте его так.
private int order = 3
Также вы можете рассмотреть возможность печати сообщения о том, что по умолчанию порядок равен трем, когда условие не выполняется.