6

在 C 中,该printf函数有一个很好的通配符功能,您可以在其中使用星号,通常放置一个指定最小列宽的 int。所以你可以去

#DEFINE COL_WIDTH 20;  

在预处理器指令中,然后你可以把

printf("%*s", COL_WIDTH, myString);

在 20 个字符的列中打印 myString。

这个星号技巧似乎没有在 Java 中实现。我得走了

printf("%20s", myString); 

反而。这是一个公然的幻数,尤其是当您尝试使用 printf 执行诸如构建表格之类的操作时,您想要一种简单的方法来一次更改多行的列宽。所以,

  • Java中的printf是否有一些我想念的东西使我想做的事情成为可能,或者

  • 是否有一种简洁且更像 Java 的方式来格式化文本以在表格中输出而不使用幻数?

4

1 回答 1

0

printf("%"+COL_WIDTH+"s", myString);

于 2014-01-23T16:39:46.337 回答