С оператором switch все в порядке.У вас есть куча бесполезных операторов прерывания, но они не вызывают проблем (за исключением того, что код становится менее читабельным).
Это проблема:
// if change is True, change the job. If false, simply return the current value
job
являетсялокальная переменная, единственный эффект установки ее - это более поздний оператор return job;
.Ваш комментарий должен выглядеть следующим образом:
// if change is true, return the new job. If false, simply return the current value
Новое значение job
IS возвращено, но вы отбрасываете возвращаемое значение.
Конечно, вы всегда устанавливаете job = Landman
, чтоозначает, что вы всегда выбираете один и тот же путь через switch
.Вся функция эквивалентна return Landman;
.