&引用;美化;Java控制台输出

&引用;美化;Java控制台输出,java,console,output,Java,Console,Output,我想在控制台中美化我的版本。 我现在怎么能把整件事写在一张桌子上呢? 我试过用空格来计数,但是随着值的变化,这是非常糟糕的。你有没有好主意,我如何美化介于两者之间的问题 我的代码: private static void berechneVerbrauch(Tankbeleg[] tanken) { System.out.print("Datum" + " KM-Stand" + " Liter" + " Preis" + " Verbrauch"); Sys

我想在控制台中美化我的版本。 我现在怎么能把整件事写在一张桌子上呢? 我试过用空格来计数,但是随着值的变化,这是非常糟糕的。你有没有好主意,我如何美化介于两者之间的问题

我的代码:

 private static void berechneVerbrauch(Tankbeleg[] tanken) {
        System.out.print("Datum" + " KM-Stand" + " Liter" + " Preis" + " Verbrauch");
        System.out.println(" ");
        for (int i = 0; i < tanken.length; i++) {
            System.out.print(tanken[i].datum + " " + tanken[i].kmStand + " " + tanken[i].getankteLiter + " " + tanken[i].literPreis+ " " );
            System.out.println(" ");

        }
    }
private static void berechneVerbrauch(Tankbeleg[]tanken){
系统输出打印(“基准面”+“KM标准”+“升”+“Preis”+“Verbrauch”);
System.out.println(“”);
对于(int i=0;i
先谢谢你

致意 迈克尔

编辑

private static void berechneVerbrauch(Tankbeleg[]tanken){
系统输出打印(“基准面”+“\tKM站”+“\tLiter”+“\tPreis”+“\tVerbrauch”);
System.out.println(“”);
对于(int i=0;i
使用
System.out.printf()
。printf是格式化打印,因此您可以声明希望每个变量包含多少空格,根据需要截断或扩展变量。请参阅以了解如何使用它

在您的情况下,类似这样的内容可能适合标题:

System.out.printf("%10s %8s %5s %5s %9s", "Datum", "KM-Stand", "Liter", "Preis", "Verbrauch");
对于数据线:

System.out.printf("%10s %8s %5s %5s", tanken[i].datum, tanken[i].kmStand, tanken[i].getankteLiter, tanken[i].literPreis );
我编写了一个这样的主方法来模拟代码,以便查看格式

public static void main(String[] args){
    System.out.printf("%10s %8s %5s %5s %9s", "Datum", "KM-Stand", "Liter", "Preis", "Verbrauch");
    System.out.println(" ");
    for (int i = 0; i < args.length; i++) {
        System.out.printf("%10s %8s %5s %5s", args[0], args[1], args[2], args[3] );
        System.out.println(" ");

    }
}

您可以玩弄
printf
选项,使其左对齐,或使用空格以外的其他字符填充,这是一个非常有用的工具,而不是您可以使用tab\t

来使用空格,谢谢!请看一下我的新编辑。使用\t,它看起来更好,但还不是最佳状态。然后,将选项卡加倍,尝试此选项“\t\tKM Stand”“\t\t”+tanken[i]。getankteLiter
public static void main(String[] args){
    System.out.printf("%10s %8s %5s %5s %9s", "Datum", "KM-Stand", "Liter", "Preis", "Verbrauch");
    System.out.println(" ");
    for (int i = 0; i < args.length; i++) {
        System.out.printf("%10s %8s %5s %5s", args[0], args[1], args[2], args[3] );
        System.out.println(" ");

    }
}
$ java Test 20.05.2010 30000 20 30
     Datum KM-Stand Liter Preis Verbrauch 
20.05.2010    30000    20    30 
20.05.2010    30000    20    30 
20.05.2010    30000    20    30 
20.05.2010    30000    20    30 

$ java Test alpha beta cala baza
     Datum KM-Stand Liter Preis Verbrauch 
     alpha     beta  cala  baza 
     alpha     beta  cala  baza 
     alpha     beta  cala  baza 
     alpha     beta  cala  baza