我在Java中创建了一个菜单,其中每个选项都有另一个菜单。我想知道我是否可以退出内部菜单回到主菜单。
编辑:添加主菜单选项
System.out.println("Main Menu");
System.out.println("1. Hourly Employees");
System.out.println("2. Salary Employees");
System.out.println("3. Commission Employees");
System.out.println("4. Weekly Calculations");
System.out.println("5. Exit Program");
while(true){
switch(choice){
case 1:
HourlyEmployeeChoice HEC = new HourlyEmployeeChoice();
//HourlyEmployeeChoice is a class with HEmployeeMenu() method
HEC.HEmployeeMenu();
break;
//case 2-4: to be added later
case 5:
System.out.println("Goodbye!");
System.exit(0);
}
}这是我的主菜。我只为第一个选项和退出选项编写了代码。
public void HEmployeeMenu(){
while(true){
//submenu options
int hourlyChoice = userChoice.nextInt();
switch(hourlyChoice) {
case 1:
//code
break;
case 2:
//code
break;
case 3:
//code
break;
case 4: //exit submenu
return;
default:
System.out.println("Please make a valid selection");
}
}
}这是我把我的第二个开关语句放在里面的方法。选择选项4(退出子菜单)刷新到子菜单而不是主菜单。我认为造成这种情况的原因是我对子菜单的while循环。但是我不想放弃这个选项,因为我希望在做完1-3个案例之后,能够继续做出选择。
发布于 2014-08-11 00:39:29
我相信你的问题是
while(true){
// HERE
switch(choice){您需要添加代码才能再次获得choice,否则它将始终是您第一次输入的内容。
即将主菜单显示和choice输入移到以下内容
while(true){
System.out.println("Main Menu"); // <-- Added based on your edit.
System.out.println("1. Hourly Employees");
System.out.println("2. Salary Employees");
System.out.println("3. Commission Employees");
System.out.println("4. Weekly Calculations");
System.out.println("5. Exit Program");
int choice = userChoice.nextInt(); // <-- HERE
switch(choice){https://stackoverflow.com/questions/25234374
复制相似问题