首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >退出嵌套开关语句到外部开关语句

退出嵌套开关语句到外部开关语句
EN

Stack Overflow用户
提问于 2014-08-11 00:36:22
回答 1查看 2.8K关注 0票数 1

我在Java中创建了一个菜单,其中每个选项都有另一个菜单。我想知道我是否可以退出内部菜单回到主菜单。

编辑:添加主菜单选项

代码语言:javascript
复制
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);
    }
    }

这是我的主菜。我只为第一个选项和退出选项编写了代码。

代码语言:javascript
复制
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个案例之后,能够继续做出选择。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-11 00:39:29

我相信你的问题是

代码语言:javascript
复制
while(true){
  // HERE
  switch(choice){

您需要添加代码才能再次获得choice,否则它将始终是您第一次输入的内容。

即将主菜单显示和choice输入移到以下内容

代码语言:javascript
复制
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){
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25234374

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档