我想以列或列表的形式打印出枚举器数据

I want to print out the enumerator data in columns or as a list

所以...我这里有这段代码。

    class secondary
{
    enum DocDetails
    {
        DrHowlett(500, "Orthopedist"),
        DrMurdock(300, "ENT specialist"),
        DrNarendra(1000, "Nephrologist"),
        DrWhite(10000, "Pulmonologist"),
        DrSummers(1500, "Opthalmologist"),
        DrStark(12000, "Cardiologist"),
        DrBanner(20000, "Radiologist");

    private int x;
    private String z;
    private DocDetails(int y, String a)
    {

        x=y;
        z=a;
    }

}
    public static void main(String args[])
    {
        for(DocDetails d:DocDetails.values())
        {
            System.out.println(d);
            System.out.println(d.x);
            System.out.println(d.z);
        }
    }
}

我想这样打印出来

DrHowlett 500 Ortopedist
DrMurdock 300 ENT specialist
....and so on. 

但这是代码的实际输出

DrHowlett
500
Orthopedist
DrMurdock
300
ENT specialist
DrNarendra
1000
Nephrologist
DrWhite
10000
Pulmonologist
DrSummers
1500
Opthalmologist
DrStark
12000
Cardiologist
DrBanner
20000
Radiologist

下一行打印所有内容。 我有一个项目,我必须在枚举器中存储详细信息并将它们打印出来。如果我只是将它们打印成一长串毫无意义的列表,那将毫无用处。我想并排显示属性,而不是在下一行打印所有内容。

对前 2 个打印语句使用 System.out.print()。将最后一个保留为 System.out.println();

还在前 2 个 println 语句的末尾添加空格。

public static void main(String args[])
{
    for(DocDetails d:DocDetails.values())
    {
        System.out.print(d + " ");
        System.out.print(d.x + " ");
        System.out.println(d.z);
    }
}

}

您正在使用 "println"(即打印行),它总是在每次调用结束时包含一个换行符。您可以使用 System.out.print (不包括新行),但如果您使用 String.format:

会更干净
System.out.println("%s\t%d\t%s".format(d, d.x, dz));

这将写一行,每个字段用制表符分隔。