How to center string output using printf() and variable width?
I'm creating an output in 开发者_如何学CJava using printf()
to create table headers. One of the columns needs variable width.
Basically it should look like this:
//two coords
Trial Column Heading
1 (20,30)(30,20)
//three coords
Trial Column Heading
1 (20,40)(50,10)(90,30)
I tried to use:
int spacing = numCoords * 7; //size of column
printf("Trial %*^s", column, "Column Heading");
But I keep getting output errors when I try to use *
or ^
in the conversion statement.
Does anyone have any idea what the correct formatting string should be?
Use StringUtils.center from the Commons Lang library:
StringUtils.center(column, "Column Heading".length());
Java does not support the "*" format specifier. Instead, insert the width directly into the format string:
int spacing = numCoords * 7; //size of column
System.out.printf("Trial %" + spacing + "s", "Column Heading");
精彩评论