| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Помогите реализовать многоуровневое меню в консоли |
| Автор: TAIMOS 14.5.2011, 23:39 | ||
| Здравствуйте. Передо мной стоит задача реализовать меню в консоли, что-то типа: 1. Select artist 2. Add new artist 3. Remove artist Ввели 1: 1. Select album 2. Add new album 3. Remove album 4. Back Само меню хранится в XML-файле. Я его распарсиваю JDOM'oм в объект. Потом, в зависимости от того, какую цифру ввел пользователь, через switch вывожу на экран информацию + меню. Все бы хорошо, но вот допустим есть у нас на 2 уровне "2. Add new album". После добавления альбома нужно, чтоб вывелось то же меню. То есть нужно, чтоб case 2: повторился заново. Но с помощью switch такого добиться невозможно. Подскажите альтернативу. Вот кусок switch'a, чтобы вам было лучше видно суть проблемы:
Помогите, пожалуйста. |
| Автор: _Y_ 15.5.2011, 10:02 |
| По-разному можно сделать. 1. Рекурсия. switch загоняем в вызываемый рекурсивно метод, которому передается параметр choice. После добавления альбома рекурсивно вызываем тот же метод с тем же параметром. 2. State machine. Строим вокруг switch цикл с выходом по условию, зависящему от величины choice. В каждой ветке switch-а присваиваем или не присваиваем choice новое значение. |