Потому что криво
Видимо вы не дочитали учебник, или же там специально приведена ошибка
У вас операнды не добавляются в очередь. А добавляется 0, который операндом быть не может, поэтому calculate у вас выбрасывает 0 по умолчанию.
PS проблема в if'е последнем. И да, сомнительно что это по учебнику.