Я хочу распечатать данные перечислителя в столбцах или в виде списка - PullRequest
0 голосов
/ 06 апреля 2020

ТАК ... У меня есть этот кусок кода здесь.

    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 ]

0 голосов
/ 06 апреля 2020

Вы используете "println" (т.е. строку печати), которая всегда будет содержать новую строку в конце каждого вызова. Вы можете использовать System.out.print (который не включает в себя новую строку), но он будет более понятным, если вы используете String.format:

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

, которая будет записывать строку с каждым полем, разделенным вкладкой .

0 голосов
/ 06 апреля 2020

Используйте 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);
    }
}

}

...