我有一个电影亭的主菜单,我可以输入一个数字(在本例中为 5),它将带我进入管理菜单。问题是管理菜单有一组不同的案例,当我输入一个数字以从管理菜单访问案例时,它只会让我回到主菜单。
我不确定我可以在代码中更改什么以使其工作,我希望当我在管理菜单中输入数字时,它会执行指定的方法。
一开始我调用了 Kiosk
类的 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()
函数。
switch (choice) {
case '1': catalogue(); break;
case '2': admin(); break;
}
请注意,您不会对 admin()
函数返回的字符执行任何操作。稍后您只需将字符 5
分配给 char choice
。
关于java - 如何使多个基于文本的 java 菜单工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56020958/