2017-10-04 11 views
0

我正在学习Java,所以也许这是一个愚蠢的问题,但它在这里。我知道一个String变量可以在Java中使用的.format方法进行格式化:如何格式化一个字符串作为长度传递一个常量变量?

String.format("|%20s|", "Hello world"); 

>>|   Hello world| 

但我怎么可以指定使用可变宽度是多少?即,而不是键入litteral '20':

String.format("|%MY_VARs|", "Hello world"); //<-- how to put MY_VAR inside? 
+0

怎么样'的String.format(的String.format( “| %%% DS |”,myVar的) “你好世界”);'? – blafasel

回答

3

使用的格式如下String.format("|%" + MY_VARs +"s|", "Hello world");

+0

谢谢!简单而优雅的解决方案 – Neb

1
String format = String.format("|%%%d|", YOUR_VAR); 
String formatted = String.format(format, "hello world"); 
+1

| %% d |必须是| %%% ds | –

+0

@mrmcwolf是的,谢谢,我肯定会搞砸了 – daniu

+0

+1这个好的解决方案。不过,我接受@ Freddie_Wilson的解决方案,因为你需要两行代码,它不太直观 – Neb

相关问题