Как я могу сделать несколько текстовых меню Java работать? - PullRequest
2 голосов
/ 07 мая 2019

У меня есть главное меню для киоска фильма, я могу набрать номер (в данном случае 5), и оно приведет меня в меню администратора.Проблема в том, что в меню администратора есть другой набор дел, и когда я набираю номер для доступа к делу из меню администратора, он просто возвращает меня в главное меню.

Я не уверен, что я мог бы изменить в коде, чтобы он работал, я ожидал, что когда я введу число в меню администратора, он выполнит указанный метод.

Вначале я вызываю метод use() из класса Kiosk, который выполняет это меню:

Когда я нажимаю 2, он выводит меня в главное меню вместо выполнения addCustomer().

1 Ответ

0 голосов
/ 07 мая 2019

Я думаю, вы хотите реализовать это так:

while ((choice = readChoice()) != 'X') {
        switch (choice) {
        case '1': catalogue(); break;
        case '2': useAdmin(); break;
        }
    }

private void useAdmin() {
    char choice = admin(); // instead of assigning 5 to this option
        switch (choice) {
        case '1': listCustomer(); break;
        case '2': addCustomer(); break;
        case 'R': use();
    }
}

В вашей текущей реализации вы вызываете функцию admin(), которая возвращает символ.

 switch (choice) {
        case '1': catalogue(); break;
        case '2': admin(); break;
        }

обратите внимание, что вы ничего не делаете с char, который возвращает функция admin(). Позже вы просто назначаете символ 5 на char choice.

...