Мій вигляд виглядає так
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) + "|";