2016-08-03 6 views
0

これは宿題プロジェクト(数週間前に提出された)であると言ってバットをすぐに開始します。私はまともなマークを持っていますが、私はそれをもっとうまくできたかどうかを知りたいと思います。我々は、ループを使用し、出力のみ1人の従業員に持つことが許されていません列あたり2つ以上のデータ型を持つJava(コンソール)列

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

は、我々は、出力には、この形式では従業員の氏名、年齢、給与やボーナスを持っていました。

は今、これは私が出力をしたかである:

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

はあなたの例

マイク:)

答えて

0

、ありがとう、あなたはすでにStringクラスのformat方法を知っているを示しています。したがって、formatprintfの両方のメソッドを使用する代わりに、出力全体をフォーマットするために使用することができます。

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

ありがとうございました! format()メソッドの "formatting"部分に文字列を直接入れることはできませんでした。 :D – Treeroot

関連する問題