java 中的缩进打印

Indented print in java

我有测试码:

public class Testinh
{
    public static void main(String[] args) {
        String author = "author";
        String title = "title";
        int pages = 0;
        System.out.print('\u000C');
        System.out.printf("Author : %-10s%nTitle : %-10s%nPages : %-10d", author, title, pages);

    }
}

输出为:

Author : author    
Title : title     
Pages : 0 

我如何让它以同样的缩进方式打印所有内容,所以我的输出将是:

 Author : author    
 Title :  title     
 Pages :  0

谢谢。

像设置值一样设置标签的格式;像

System.out.printf("%-8s %-10s%n%-8s %-10s%n%-8s %-10d", "Author :", author, "Title :", title, "Pages :", pages);

或者您可以在字符串中添加所需的空格。

添加空格。
为了提供帮助,请将格式字符串拆分为多行。

System.out.printf("Author : %s%n" +
                  "Title :  %s%n" +
                  "Pages :  %d",
                  author, title, pages);

我删除了值的左对齐。为什么在该行的值之后没有任何内容时左对齐(在右侧填充空格)?