/ / Відображення символу після певної кількості пробілів у java-java

Відображення символу після певної кількості пробілів у java-java

Мій вигляд виглядає так

  000(05.00)      *|
001(25.00)      ******|
002(36.00)      **********|

В ідеалі я хотів би, щоб моє виведення було таким ...

  000(05.00)      *         |
001(25.00)      ******    |
002(36.00)      **********|

У мене це як моя змінна ...

  private static String MAX_REP = "|";

Що я можу зробити, щоб MAX_REP друкувати цей бар для кожного рядка на тому ж місці?

Відповіді:

1 для відповіді № 1

По-перше, записуйте кожен рядок як рядок.

Потім обчислити довжину рядка. Додайте N-k пробіли до MAX_REP під час друку, де N - це потрібна позиція, а k - довжина заданої лінії.


0 для відповіді № 2

Не дивлячись на ваш код, важко знати, що ви робите, але з вигляду вашого виводу ви хочете заповнити кількість прогалин, не зайнятих зірочками, до певної точки |.

Якщо ви знаєте кількість *с, то це так просто, як віднімати кількість зірок numStars від загальної кількості позицій персонажів numChars раніше |:

int numSpaces = numChars - numStars;

Тоді ви додаєте, що багато простору. Наприклад, використовуючи org.apache.commons.lang3.StringUtils:

String myStr = output + StringUtils.repeat("*", numStars) + StringUtils.repeat(" ", numSpaces) + "|";