0

如何在所选方法执行后让菜单再次显示?

我有菜单选项打印到控制台。然后它接受用户输入(1 - 6),根据方法调用,然后应该返回菜单供用户再次从菜单中选择。

选择的方法执行后,程序就结束了。

public static void main (String[] arg) {

    Scanner kbd = new Scanner(System.in);

    String mainMenu = ("Select a choice from the menu: \n" 
            + "1. Add new DVD entry\n" 
            + "2. Look Up DVD Entry\n"
            + "3. Display DVDs By Category\n" 
            + "4. Remove DVD Entry\n"
            + "5. Save Data\n" 
            + "6. Exit");

    System.out.println(mainMenu);

    menuChoice = kbd.nextInt();

    while (menuChoice < 1 || menuChoice > 6) {
        System.out.print("\nError! Incorrect choice.\n");
        System.out.println(mainMenu);
        menuChoice = kbd.nextInt();
    }

    switch (menuChoice) {
    case 1: {
        // method code
        }
        else {
            // method code
            return;
        }
    }

    case 2: {
        // method code
        return;
    }

    case 3: {
        // method code
        return;
    }

    case 4: {
        // method code
        return;
    }   

    case 5: {
        // method code
        return;
    }

    case 6: {
        // method code
        System.exit(0);
        return;
    }
    }
}
4

2 回答 2

6

使用 do while

do
{
    System.out.println(mainMenu);

    menuChoice = kbd.nextInt();

   ... switch/case ...
   ... remove the return statements from your cases.

} while (menuChoice != 6);

您还必须return从您case的 s. 否则它将返回主目录。将它们替换为break;

这就是开关盒需要的方式

switch (menuChoice) 
{
    case 1: 
        Do what you want. 
        break;
    case 2:
        ...
        break;
    default:
        ...
        break;
}

您通常不需要{if在开关盒内。

于 2013-04-07T01:21:47.727 回答
0

将您的代码包装在里面

  while(menuChoice != 6) 
    { 
      ... 
    }
于 2013-04-07T01:21:37.120 回答