public class Menu { private String name; private List

subMenus;

public Menu(String name, List<Menu> subMenus) {
    this.name = name;
    this.subMenus = subMenus;
}

public void printMenu() {
    printMenu(0);
}

private void printMenu(int level) {
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < level; i++) {
        sb.append("-");
    }
    sb.append(name);
    System.out.println(sb.toString());

    if (subMenus != null) {
        for (Menu subMenu : subMenus) {
            subMenu.printMenu(level + 1);
        }
    }
}

}

// 测试代码 public static void main(String[] args) { Menu menu3_1 = new Menu("menu3_1", null); Menu menu3_2 = new Menu("menu3_2", null); List

subMenus2 = new ArrayList<>(); subMenus2.add(menu3_1); subMenus2.add(menu3_2); Menu menu2 = new Menu("menu2", subMenus2);

Menu menu1 = new Menu("menu1", Arrays.asList(menu2));
menu1.printMenu();

}

你作为Java后端工程师请完成以下代码一级下面有二级二级下面有三级以此类推用递归调用

原文地址: http://www.cveoy.top/t/topic/bsyi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录