![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
TAIMOS |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 2.6.2010 Репутация: нет Всего: нет |
Здравствуйте. Передо мной стоит задача реализовать меню в консоли, что-то типа:
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_ |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1651 Регистрация: 27.11.2006 Репутация: 5 Всего: 34 |
По-разному можно сделать.
1. Рекурсия. switch загоняем в вызываемый рекурсивно метод, которому передается параметр choice. После добавления альбома рекурсивно вызываем тот же метод с тем же параметром. 2. State machine. Строим вокруг switch цикл с выходом по условию, зависящему от величины choice. В каждой ветке switch-а присваиваем или не присваиваем choice новое значение. -------------------- Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |