Ответ «начального уровня»: иметь несколько операторов переключения.
Другими словами: компонент «контроллер» понимает, какие существуют различные «меню» и какие предварительные условия необходимо выполнить, чтобы принять это решение.
Чтобы превратить его в реальное решение, вы, вероятно, захотите использовать здесь полиморфизм.Например: наличие базового класса, обеспечивающего, скажем, метод showMenu()
, который отображает варианты выбора и запрашивает необходимый ввод.Этот класс также имеет (абстрактные) методы для различного поведения.
И затем вы добавляете несколько дочерних классов, которые @Override эти базовые методы по мере необходимости.
Наконец, ваш контроллер затем "только" должен определить, какой класс создать для экземпляра, чтобы показать действительные на данный момент выборы.