Отображение иерархического представления (отступы) без использования метода repeat () - PullRequest
1 голос
/ 14 июля 2020

Мне нужно, чтобы мой вывод был в иерархическом представлении, чтобы он выглядел так:

ClassA
     ClassC 
     ClassE
         ClassB
     ClassD
     ClassH 
ClassF

et c ...

Теперь, используя метод repeat (), работает правильно, однако , он не был введен до Java 11. Вот фрагмент того, что у меня сейчас есть:

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?

1 Ответ

1 голос
/ 14 июля 2020

Вы можете создать функцию, которая принимает количество пробелов для печати в качестве аргумента

static void printSpace(int spaceCount) {
    for (int i = 0; i < spaceCount; i++) {
      System.out.print(" ");
    }
}

В качестве альтернативы вы можете создать функцию, которая возвращает строку с требуемым количеством пробелов

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

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

   return sb.toString();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...