我想以列或列表的形式输出枚举数数据

问题描述 投票:0回答:2

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

    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

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

java for-loop arraylist constructor enumerator
2个回答
0
投票

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

还要在前两个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);
    }
}

}


0
投票

您正在使用“ println”(即打印行),该行将在每次调用结束时始终包含换行符。您可以使用System.out.print(不包括新行),但是如果使用String.format,它会更干净:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.