Java 使用String.format添加空格和额外数字

Java 使用String.format添加空格和额外数字,java,Java,我希望我的输出,即name,后跟age,有10个字符之间的空白。此外,年龄必须以2位数字显示 所以如果我写: System.out.printf(name + " " + String.format("%02d", age); 我会得到这样的结果(假设输入是“Peter”,9): 但是我想在名字和年龄之间留10行空格。 下面的代码将给出一个错误,但它显示了我的想法 System.out.printf(name + String.format("%10s02d", age); 我知道我可以通过

我希望我的输出,即name,后跟age,有10个字符之间的空白。此外,年龄必须以2位数字显示

所以如果我写:

System.out.printf(name + " " + String.format("%02d", age);
我会得到这样的结果(假设输入是“Peter”,9):

但是我想在名字和年龄之间留10行空格。 下面的代码将给出一个错误,但它显示了我的想法

System.out.printf(name + String.format("%10s02d", age);
我知道我可以通过以下方式增加空间:

String.format("%s10", someVariable);
我怎样才能实现我想要的


谢谢

您错过了格式化函数的空格作为参数

System.out.printf(name + String.format("%10s%02d",  " ", 1));

您没有将空格作为format函数的参数

System.out.printf(name + String.format("%10s%02d",  " ", 1));

你可以这样写:

    int numberOfSpaces = 10;
    String result = String.format("%s %"+ numberOfSpaces +"s %d", name," ",age );
    System.out.println(result);`

你可以这样写:

    int numberOfSpaces = 10;
    String result = String.format("%s %"+ numberOfSpaces +"s %d", name," ",age );
    System.out.println(result);`