Java 不使用repeat()方法显示分层表示(缩进)

Java 不使用repeat()方法显示分层表示(缩进),java,Java,我需要我的输出以层次表示形式显示,以便如下所示: ClassA ClassC ClassE ClassB ClassD ClassH ClassF 等等 现在使用repeat()方法可以正常工作,但是直到Java11才引入它。以下是我目前拥有的一个片段: private final StringBuilder builder = new StringBuilder(); private int counter = 0; @Over

我需要我的输出以层次表示形式显示,以便如下所示:

ClassA
     ClassC 
     ClassE
         ClassB
     ClassD
     ClassH 
ClassF
等等

现在使用repeat()方法可以正常工作,但是直到Java11才引入它。以下是我目前拥有的一个片段:

private final StringBuilder builder = new StringBuilder();
private int counter = 0;

@Override 
public void processVertex(E content){
    builder.append(" ".repeat(Math.max(0, counter)));
    builder.append(content).append("\n");

除了使用repeat()方法,是否有一种简单的替代方法,可以使这个(缩进)在旧版本的Java中正常工作?

您可以创建一个函数,将要打印的空格数作为参数

static void printSpace(int spaceCount) {
    for (int i = 0; i < spaceCount; i++) {
      System.out.print(" ");
    }
}
static void打印空间(int spaceCount){
对于(int i=0;i
或者,您可以创建一个函数,该函数返回一个包含所需数量的空格的字符串

static String printSpace(int spaceCount) {
   StringBuilder sb = new StringBuilder();

   for (int i = 0; i < spaceCount; i++) {
     sb.append(" ");
   }

   return sb.toString();
}
静态字符串打印空间(int spaceCount){
StringBuilder sb=新的StringBuilder();
对于(int i=0;i
我们现在谈论的年龄有多大?比如Java 8ish
String.join(“,Java.util.Collections.nCopies(counter)”)
问题解决了!谢谢伙计,非常感谢你。我总是在这里犹豫问问题,但这完美地回答了它!