Скорее всего, проблема в вашем Stack
классе:
public Node[] stackList = new Node[12];
У вас есть жесткое ограничение в 12 единиц на количество предметов, которые вы можете положить в свой стек.
Ваша основная программа добавляет 12 элементов, печатает стопку, а затем пытается вставить элемент.В вашем методе push
у вас есть это:
public void push(Node node){ //Adds nodes to the top of the stack.
stackList[index] = node;
if (index < (stackList.length - 1)){
index++;
}
}
После того, как вы добавили 12 элементов в стек, index
будет равен 12. Итак, первая строка кода, stackList[index] = node;
, пытается обновить stackList[12]
.Это за пределами массива (допустимые индексы от 0 до 11).
Держу пари, что если вы измените свой основной цикл, добавив в стек только 11 элементов, а затем выполните вставку,Программа будет работать.