Обратите внимание, что break
внутри switch
сломает только коммутатор, но не весь while
l oop!
Оператор switch прерывается после выполнения тестового примера, но l oop продолжается, потому что это условие true
и в другом месте нет оператора break или return, кроме return
in case 8
. Это единственный случай, когда ваш код будет работать правильно.
Я пробовал его с другими операторами if, и он работал правильно.
Это потому, что в этом break
Сценарий сломает ваш while
l oop вместо взлома case
, как в случае оператора switch.
Решение:
Удалите это время -l oop в целом, и держите в нем только содержимое. Вам не нужно все oop там, внутри меню происходит реальное зацикливание (что делает пока l oop). Кроме того, добавьте соответствующие операторы возврата для каждого случая. В настоящее время только case 8
имеет оператор возврата. Более того, я не вижу, чтобы вы использовали возвращаемое значение toRun
. Вы также можете просто сделать это void
и вообще избегать этих операторов возврата.