Khan Khan - 3 months ago 8
Java Question

How to center string output using printf() and variable width? [java]

I'm creating an output in Java 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?

Answer

Use StringUtils.center from the Commons Lang library:

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