开发者

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜