代码之家  ›  专栏  ›  技术社区  ›  Khan

如何使用printf()和可变宽度将字符串输出居中[[爪哇]

  •  3
  • Khan  · 技术社区  · 16 年前

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

    //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");
    

    * 或 ^

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

    3 回复  |  直到 5 年前
        1
  •  6
  •   Behrang Saeedzadeh    16 年前

    从中使用StringUtils.center Commons Lang library

    StringUtils.center(column, "Column Heading".length());
    
        2
  •  3
  •   Brett Kail    16 年前

    Java不支持“*”格式说明符。相反,请将宽度直接插入格式字符串:

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