2016-08-03 6 views
0

Ich fange sofort damit an zu sagen, dass dies ein Hausaufgabenprojekt war (das vor Wochen eingereicht wurde). Ich habe anständige Noten bekommen, aber ich würde gerne wissen, ob ich es besser hätte machen können.Java (Konsole) Spalten mit mehr als einem Datentyp pro Spalte

Wir hatten einen Mitarbeiter Namen, Alter, Gehalt und Bonus in diesem Format Ausgabe:

Name  Age  Salary  Bonus 
Xxxxxx  xx  $ xxxxx.xx $ xxxx.xx 

Wir sind nicht Schleifen benutzen darf und nur zur Ausgabe von einem Mitarbeiter haben.

Nun ist dies, wie ich die Ausgabe tat:

String employeeSalary = String.format("%.2f", myEmployee.getSalary()); 
String employeeBonus = String.format("%.2f", myEmployee.calculateBonus()); 

System.out.printf("\f%-10s %-10s %-12s %-10s\n", "Name", "Age", "Salary", "Bonus"); 
System.out.printf("%-10s %-10s %-12s %-10s", myEmployee.getName(), myEmployee.getAge(), "$ " + employeeSalary, "$ " + employeeBonus); 

Danke,

Mike :)

Antwort

0

Ihr Beispiel zeigt, sind bereits bekannt format Methode in String Klasse. Sie könnten damit die gesamte Ausgabe formatieren, anstatt die Methoden format und printf zu verwenden.

System.out.println(String.format("%-10s %-10s $ %-12.2f $ %-10.2f", 
        myEmployee.getName(), myEmployee.getAge(), 
        myEmployee.getSalary(), myEmployee.calculateBonus())); 
+0

Vielen Dank! Ich war mir nicht bewusst, dass Sie Zeichenfolgen direkt in den "Formatierung" -Teil der format() -Methode einfügen könnten. : D – Treeroot

Verwandte Themen