Java命令行选项列表导航

时间:2010-11-25 14:40:39

标签: java

我创建了一个案例切换选项列表

第一个选项列表
选项1转到选项列表A
选项2转到选项列表B
选项3还没有决定这将做什么C
选项4退出

如果选择了选项1 选项1做A
选项2做B
选项3做C
选项4上一个菜单
选项5退出

所以基本上它是一个开关内的开关。我坚持的一点是回到上一个菜单。

while (true) {
        System.out.println("Choose which Sort type to use\n");
        System.out.println("(1): Option 1 - do something\n(2): Option 2 - do something else\n(3): Option 3 - Something Cool\n(4): Exit");
        option = in.nextInt();

        if (option == 4) {
            System.exit(0);
        }


        switch (option) {

        case 1:

            while (true) {
        System.out.println("Choose which Sort type to use\n");
        System.out.println("(1): Option 1 - do something\n(2): Option 2 - Do something else\n(3): Option 3 - Something Cool\n(4): Exit");
        option = in.nextInt();

        if (option == 4) {
            System.exit(0);
        }


        switch (option) {

        case 1:

            while (true) {

            System.out.println("Choose which Sort type to use\n");
            System.out.println("(1): Option 1 -something\n(2): Option 2 - something else\n(3): Option 3 - something else\n(4): Option 4 - Previous Menu\n(5): Exit\n");
            option = in.nextInt();
            if (option == 5) {
                System.exit(0);
            }


            switch (option) {

            case 1:

                break;
            case 2:

                break;
            case 3:

                break;
            case 4:

            default:
                System.out.print("Please enter a valid option 1, 2 or 3");
                break;
            }//end of switch


        }//end of while loop





        case 2:
            while (true) {

                System.out.println("Choose which something type to use\n");
                System.out.println("(1): Option 1 - something\n(2): Option 2 - something\n(3): Option 3 - something\n(4): Exit");
                option = in.nextInt();
                if (option == 4) {
                    System.exit(0);
                }


                switch (option) {

                case 1:

                    break;
                case 2:

                    break;
                case 3:


                    break;
                default:
                    System.out.print("Please enter a valid option 1, 2 or 3");
                    break;
                }//end of switch


            }//end of while loop











        case 3:

            break;
        default:
            System.out.print("Please enter a valid option 1, 2 or 3");
            break;
        }//end of switch

        }

1 个答案:

答案 0 :(得分:0)

将嵌套开关放在方法中。当你完成它的循环时,返回。

while (true)
{
    option = ...;
    switch (option)
    {
    case 0:
        submenu();
        break;
    // ...
    }
}

// later
public void submenu()
{
    while (true)
    {
        option = ...;
        switch (option)
        {
        case 0:
            return;
            break;
        // ...
        }
    }
 }