我有一个玩超级英雄王牌游戏的程序,每次用户玩游戏时都需要重复菜单。我试图创建一个方法(displayMenus),该方法将插入到每个switch语句中(关闭程序除外),但是我不知道如何获取它以返回此菜单。

public class Heros {

public static void main(String[] args) {



Scanner input = new Scanner(System.in);

int index = 0;


    do {

     int inp = input.nextInt();

    switch (inp) {
        //FIRST
        case 1:
            index = 0;
            System.out.println(HerosAsList.getHeros().get(index));
            System.out.println(displayMenus);
            break;
        //NEXT
        case 2:
            index++;
            if (index > HerosAsList.getHeros().size() - 1) {
                index = HerosAsList.getHeros().size() - 1;
            }
            System.out.println(HerosAsList.getHeros().get(index));
            System.out.println(displayMenus);
            break;
        //PREV
        case 3:
            index--;
            if (index < 0) {
                index = 0;
            }
            System.out.println(HerosAsList.getHeros().get(index));
            System.out.println(displayMenus);
            break;
        //LAST
        case 4:
            index = HerosAsList.getHeros().size() - 1;
            System.out.println(HerosAsList.getHeros().get(index));
            System.out.println(displayMenus);
            break;
        //QUIT
        case 0:
            System.out.println("Closing system");
            System.exit(inp);

            break;
    }
}

while(index<HerosAsList.getHeros ().size());

}
public static displayMenus () {


    System.out.println("First - 1");
    System.out.println("Next -  2");
    System.out.println("Prev -  3");
    System.out.println("Last -  4");
    System.out.println("Quit -  5");
    System.out.println("");
    System.out.println("Enter Choice:");



}
}


非常感谢任何帮助,我似乎无法理解方法!

最佳答案

首先,displayMenus的声明无效。您需要给它一个返回类型(即使它是void),例如:

public static void displayMenus () {


如果使它无效,则需要调用displayMenus()而不调用System.out.println

displayMenus();


如果将其设置为String,则需要在displayMenus中构建一个String并返回它,例如:

public static String displayMenus() {
  return "First - 1" + ...;
}


那么您可以调用System.out.println(displayMenus())

07-27 20:28