Java 如何将传递常量变量的字符串格式化为长度-宽度?

Java 如何将传递常量变量的字符串格式化为长度-宽度?,java,string,string-formatting,Java,String,String Formatting,我正在学习Java,所以这可能是一个愚蠢的问题,但问题就在这里。我知道可以使用.format方法在java中格式化字符串变量: String.format("|%20s|", "Hello world"); >>| Hello world| 但是如何使用变量指定宽度呢?也就是说,不用输入“20”字: String.format("|%MY_VARs|", "Hello world"); //<-- how to put MY_VAR inside? Str

我正在学习Java,所以这可能是一个愚蠢的问题,但问题就在这里。我知道可以使用
.format
方法在java中格式化
字符串
变量:

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

>>|         Hello world|
但是如何使用变量指定宽度呢?也就是说,不用输入“20”字:

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

String.format(“|%MY|u VARs |“,“Hello world”)// 尝试使用以下
String.format(“|%”+MY_VARs+“s”,“Hello world”)

尝试使用以下
String.format(“|%”+MY|u VARs+“s”,“Hello world”)

格式示例:

int age = 19;
String name = "Dinh";
System.out.println(String.format("My name is %s and I am %s years old", name, age));
应该打印>“我的名字叫丁,我今年19岁”

String formatted = String.format(String.format("|%%d|", YOUR_VAR), "hello world");
您还可以查看以下文章之一:

格式示例:

int age = 19;
String name = "Dinh";
System.out.println(String.format("My name is %s and I am %s years old", name, age));
应该打印>“我的名字叫丁,我今年19岁”

String formatted = String.format(String.format("|%%d|", YOUR_VAR), "hello world");
您还可以查看以下文章之一:


关于
String.format(String.format(“|%%ds |”,myVar),“Hello world”)?关于
String.format(String.format(“|%%ds |”,myVar),“你好,世界”)?|%%d |必须是|%%ds |@mrmcwolf是的,谢谢,我一定会把转义+1搞砸的。但是,我接受了@Freddie_Wilson的解决方案,因为您的解决方案需要两行代码,而且它不太直观|%%d |必须是|%%ds |@mrmcwolf是的,谢谢,我一定会把转义+1搞砸的。然而,我接受了@Freddie_Wilson的解决方案,因为您的解决方案需要两行代码,而且不太直观!简单而优雅的解决方案谢谢!简单而优雅的解决方案