【发布时间】:2016-02-26 04:37:40
【问题描述】:
我正在打印三列字符串。如何在第一列字符串大小完全随机的情况下组织输出,并使其不扭曲列之间的距离?
我不知道很多 java 类方法。我对 java 以及一般的软件开发都很陌生。
来源:
//just printing out the data with the string I built "String p"
//don't mind dividing them into three strings
while (true) {
tok = lex.nextToken();
String p = TokenType.tokens.get(tok.getKind()) +
" left: " + tok.getLeftPosition() +
" right: " + tok.getRightPosition() + " ";
if ( (tok.getKind() == Tokens.Identifier) ||
(tok.getKind() == Tokens.INTeger) ||
(tok.getKind() == Tokens.FLoat) )
p += tok.toString();
System.out.println(p + " line:"+lex.source.getLineno() );
}
这里是示例输出,以提供一些想法。
我至少希望第二列对齐。
输出:
READLINE: program if == float f
program left: 0 right: 6 line:1
if left: 8 right: 9 line:1
== left: 11 right: 12 line:1
float left: 14 right: 18 line:1
<id> left: 20 right: 20 f line:1
【问题讨论】:
-
在左右前后使用 \t(制表符)之类的东西,以便对齐。
-
Aajan,谢谢,效果很好。
-
这是一个简单的解决方案。但并没有真正满足我的要求。我在问如何对齐它们。从来没有第二列字符串会完全对齐。不过,该解决方案对我的程序来说已经足够了。