java - 打印菜单层次结构
问题描述
我得到了一组看起来像这样的字符串(菜单项的路径)
/home
/about
/about/staff
/about/staff/sector1
/about/staff/sector2
/products
/products/section1
我需要以这样的方式打印它们,菜单的层次结构将如下所示:
.home
.about
....staff
.......sector1
.......sector2
.products
....section1
这是我的代码:
void printItem(int indent, String path)
{
for(int i=0; i<indent; i++)
{
System.out.print(".");
}
String [] items = null;
if(path.contains("/"))
{
items = path.split("/");
for(int i=0; i<items.length; i++)
{
System.out.println(items[i]);
printItem(indent+3, items[i]);
}
}
else
return;
}
我的代码的问题是我不知道如何阻止它多次打印同一个父级。例如,假设我有这 3 条路径:
/about
/about/staff
/about/staff/sector1
我最终得到这个输出:
..about
....staff
.....about
....staff
....sector1
....
关于如何摆脱这个问题的任何想法?
解决方案
推荐阅读
- lua - Lua LOVE2D 不能使用凹凸向世界添加超过一颗子弹
- python - 在 python 中使用来自 JSON 响应的数据
- flutter - 处理有状态小部件的变量
- webpack - Visual Studio 代码和 Webpack
- python - 启动不同的驱动程序进行测试
- sql - 如何在具有内部和外部联接的 SUM 函数中使用 Count
- r - 二次规划设置约束
- sql - 如何使用规范化来设置评级与 Python 或 SQL 中评级数量之间的置信度?
- c++ - 如何在 Windows 10 中使用 C++ 输出低 ASCII?
- iis - AppSetting >>" ApplyHostAsOrigin": true,