/ / Показване на символ след определен брой пространства в 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

Първо, запишете всяка линия като String.

След това изчислете дължината на String. Добавете N-k интервали преди MAX_REP, когато печатате, където N е желаната позиция и k е дължината на дадената линия.


0 за отговор № 2

Без да виждате кода си, е трудно да разберете какво правите, но от вида на изхода ви искате да попълните броя на пространствата, които не са заети от звезди до някаква точка |.

Ако знаете броя на *s, тогава това е просто, като се извади броят на звездите numStars от общия брой позиции на символи numChars преди |:

int numSpaces = numChars - numStars;

След това добавяте толкова много места. Например, използвайки org.apache.commons.lang3.StringUtils:

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