java - 如何使用 printf() 和可变宽度使字符串输出居中?

标签 java string printf

我正在使用 printf() 创建表格标题的 Java 输出。其中一列需要可变宽度。

基本上它应该是这样的:

//two coords
Trial    Column Heading
1        (20,30)(30,20)
//three coords
Trial        Column Heading
1        (20,40)(50,10)(90,30)

我尝试使用:

int spacing = numCoords * 7; //size of column
printf("Trial    %*^s", column, "Column Heading");

但是当我尝试在转换语句中使用 *^ 时,我不断收到输出错误。

有谁知道正确的格式字符串应该是什么?

最佳答案

使用 Commons Lang library 中的 StringUtils.center :

StringUtils.center(column, "Column Heading".length());

关于java - 如何使用 printf() 和可变宽度使字符串输出居中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2709993/

相关文章:

c - Printf 在 C 程序中有异常行为

c - 理解 C 双格式化程序占位符

.net - 为什么 printf 与托管字符串一起工作?

java - 重新编译 .java 文件而不访问库?

java - 如何使用 spring 和 jquery 设置真正的跨域策略

java - Coin change : get the combinations recursively,如何将它们保存到数组中

javascript - 从段落中过滤唯一字符串并使其可点击并放置到其原始位置

java - Apache POI 无法从 Excel 单元格中正确读取秒数

C - 将 int 附加到字符串

javascript - 凯撒密码 - 空格和其他字符