提问者:小点点

我想用java管理格式


public void listAllPatient()
{
    ArrayList<Patient> listPatient=curClinic.getAllPatient();
    System.out.println("Medicare Number" + "Name" + "Year Of Birth" + "Number of Visits");
    for(Patient p : listPatient)
    {
        System.out.println(p);
    }

}

public String toString()//code from patient class
{
    return medicareNumber + "  " + pName + "  " + brithDate + "  " +      getNumberOfVisit();
}

我想展示这样的东西

Medicare Number     Name        Year Of Birth       Number of Visits
3012 81822 8        Fred Smith  1957                13
2249 14567 9        John Adams  1928                2

共2个答案

匿名用户

首先看一下< code>String.format、< code>Formatter和一些例子

首先定义标头和数据格式...

public static final String HEADER_FORMAT = "%-20s %-20s %-20s %-20s";
public static final String DATA_FORMAT = "%-20s %-20s %-20d %-20d";

打印页眉...

System.out.println(String.format(HEADER_FORMAT, "Medicare Number", "Name", "Year Of Birth", "Number of Visits"));

然后,为每个患者设置其属性的格式

for (Patient p : patients) {
    System.out.println(String.format(DATA_FORMAT, p.getMediacareNumber(), p.getName(), p.getDob(), p.getVisits()));
}

我选择不使用toString方法,因为这可能用于其他事情,并且没有标头,它有点没用。

这可以产生类似的东西…

Medicare Number      Name                 Year Of Birth        Number of Visits    
3012 81822 8         Fred Smith           1957                 13                  
2249 14567 9         John Adams           1928                 2      

匿名用户

您也许可以使用类似OpenCSV(带有制表符分隔符)的东西来创建一个适当的格式化数据集,其优点是您还可以保存它,并在外部软件中使用它。