如何使基于多个文本的 java 菜单起作用?

How can I make multiple text based java menus work?

我有一个电影亭的主菜单,我可以输入一个数字(在本例中为 5),它将带我进入管理菜单。问题是管理菜单有一组不同的案例,当我输入一个数字以从管理菜单访问案例时,它只会让我回到主菜单。

我不确定我可以在代码中更改什么以使其工作,我希望当我在管理菜单中输入数字时,它会执行指定的方法。

一开始我从Kioskclass中调用了use()方法 哪个执行此菜单:

当我按 2 时,它会将我带到主菜单而不是执行 addCustomer()

我想你想这样实现它:

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() 函数称为 returns 一个字符。

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

请注意,您不对 admin() 函数 returns 的字符做任何事情。稍后您只需将字符 5 分配给 char choice.