在C中,printf
函数具有很好的通配符功能,您可以在其中使用星号,通常放置一个指定最小列宽的int。所以你可以去
#DEFINE COL_WIDTH 20;
在预处理器指令中,然后你可以放
printf("%*s", COL_WIDTH, myString);
以20个字符的列打印myString。
这个星号技巧似乎没有在Java中实现。我得走了
printf("%20s", myString);
代替。这是一个公然的神奇数字,特别是如果你试图使用printf来做一些像你想要一个简单的方法来一次改变很多行的列宽的表。所以,
我是否缺少一些关于Java中printf的东西,这使得我想做的事情成为可能,或者
是否有一种简洁且更像Java的方式来格式化表格中的输出,而不使用幻数?
答案 0 :(得分:0)
printf("%"+COL_WIDTH+"s", myString);