我的输出看起来像这样
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为同一地点的每一行打印该栏?
答案 0 :(得分:1)
首先,将每一行记录为字符串。
然后计算字符串的长度。在打印时在MAX_REP之前添加N-k个空格,其中N是您想要的位置,k是给定行的长度。
答案 1 :(得分:0)
在没有看到你的代码的情况下,很难知道你在做什么,但是根据输出的外观,你想要填充星空没有占用的空格数,直到持有|
的某个点。 。
如果您知道*
的数量,那么就像在numStars
之前从numChars
的字符位置总数中减去明星数量|
一样简单:
int numSpaces = numChars - numStars;
然后你添加那么多空格。例如,使用org.apache.commons.lang3.StringUtils
:
String myStr = output + StringUtils.repeat("*", numStars) + StringUtils.repeat(" ", numSpaces) + "|";