我想在控制台中美化我的版本。 我怎么能像在桌子上一样写出整件事? 我曾尝试用空格计数,但随着价值观的变化,这是非常糟糕的。你是否知道如何美化它们之间存在的问题?
我的代码:
5 * 4
提前谢谢
祝你好运 迈克尔
修改
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(" ");
}
}
答案 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
代替空格