为了账号安全,请及时绑定邮箱和手机立即绑定

正确缩进 Java/Kotlin 控制台输出

正确缩进 Java/Kotlin 控制台输出

蓝山帝景 2022-05-12 18:49:42
我正在向控制台输出大量信息,这些信息是通过多个嵌套调用收集的。我希望能够以可读的方式在屏幕上打印信息,但我似乎无法正确缩进,而不对数字进行硬编码\t。基本上,我怎样才能让我的代码根据上一行的缩进级别进行缩进。如果上一行缩进\t并且我执行“\n\t”,那么之后,我希望新行相对于上一行缩进。意思是我希望像String str = "original line (no indention)"+ "\n"+ "\t originally indented line"+ "\n"+ "\t the second indented line"输出是original line (no indention)    originally indented line    the second indented line但我希望它是original line (no indention)    originally indented line         the second indented line请记住,在我的实际代码中,每个缩进级别都是来自不同文件的聚合结果,因此很难只知道在第二行缩进两次。我需要它能够简单地根据前一行的缩进进行缩进,这样我就不必对缩进级别进行硬编码。
查看完整描述

2 回答

?
偶然的你

TA贡献1841条经验 获得超3个赞

我建议创建一个迷你类来帮助你。这样您就可以跟踪已经进行了多少缩进。您可以在当前使用的类中添加以下代码:


public static class Indent{

    private static int numIndents = 0;

    public static String addIndent(String textToIndent){

        numIndents++;

        for(int i = 0; i < numIndents; i++){

            textToIndent = "\t" + textToIndent;

        }

        return textToIndent;

    }

}

然后您可以执行以下操作:


String str = "original line (no indention)"

+ Indent.addIndent("originally indented line") 

+ Indent.addIndent("second indented line");

这样一来,您实际上根本不需要打字\t。


查看完整回答
反对 回复 2022-05-12
?
达令说

TA贡献1821条经验 获得超6个赞

结束了,在每次迭代期间替换每条新行\n\n\t这似乎起到了作用。太疯狂了,我看了这么简单的解决方案。



查看完整回答
反对 回复 2022-05-12
  • 2 回答
  • 0 关注
  • 132 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信