在Java中缩进打印

时间:2015-11-08 02:20:56

标签: java printf indentation

我有一个测试代码:

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

谢谢。

2 个答案:

答案 0 :(得分:3)

将标签格式化为与值相同的格式;

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

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

答案 1 :(得分:0)

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

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

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