В объекте Stack метод pop()
удаляет объект в верхней части стека и возвращает объект как результат. Таким образом, при первом выполнении операция stack.pop()
удаляет первый элемент из стека, поэтому размер уменьшается с 2
до 1
. На следующей итерации цикла " для " переменная i
имеет значение 1
, а условие " для " i<stack.size()
не проверяется, поэтомуцикл " for " завершается. Вот почему он проходит цикл только один раз. Было бы лучше проверить, не является ли стек пустым как условие цикла.