“Beautify”Java控制台输出

时间:2017-11-10 15:10:04

标签: java console output

我想在控制台中美化我的版本。 我怎么能像在桌子上一样写出整件事? 我曾尝试用空格计数,但随着价值观的变化,这是非常糟糕的。你是否知道如何美化它们之间存在的问题?

Console output

我的代码:

5 * 4

提前谢谢

祝你好运 迈克尔

修改

Console output with \t

 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(" ");

        }
    }

2 个答案:

答案 0 :(得分:3)

使用System.out.printf()。 printf是格式化打印,因此您可以声明每个变量需要多少空格,根据需要截断或扩展变量。请参阅tutorials for 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(" ");

    }
}

:: output ::

$ 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 

你可以使用printf选项让它们左对齐或用空格以外的其他字符填充,这是一个非常有用的工具

答案 1 :(得分:1)

您可以使用tab \ t

代替空格