每列具有多个数据类型的Java(控制台)列

时间:2016-08-03 07:22:11

标签: java format

我会马上开始说这是一个家庭作业项目(几周前提交)。我得到了不错的分数,但我想知道我是否可以做得更好。

我们必须以这种格式输出员工的姓名,年龄,工资和奖金:

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

谢谢,

迈克:)

1 个答案:

答案 0 :(得分:0)

您的示例显示您已了解format课程中的String方法。因此,您可以使用它来格式化整个输出,而不是同时使用formatprintf方法。

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