英文:
I want to print out the enumerator data in columns or as a list
问题
SO...我这里有一段代码。
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 + " " + d.x + " " + d.z);
}
}
}
我想要打印出如下格式:
DrHowlett 500 Orthopedist
DrMurdock 300 ENT specialist
....以此类推。
但这是代码的实际输出:
DrHowlett
500
Orthopedist
DrMurdock
300
ENT specialist
DrNarendra
1000
Nephrologist
DrWhite
10000
Pulmonologist
DrSummers
1500
Opthalmologist
DrStark
12000
Cardiologist
DrBanner
20000
Radiologist
所有的内容都在下一行打印出来。我有一个项目,需要将细节存储在枚举中并将其打印出来。如果我只是将它们打印成一个长而无意义的列表,那是没有用的。我想要将属性并排显示,而不是所有内容都在下一行打印出来。
英文:
SO...I have this piece of code here.
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);
}
}
}
And I want to print out like this
DrHowlett 500 Ortopedist
DrMurdock 300 ENT specialist
....and so on.
But this is the actual output of the code
DrHowlett
500
Orthopedist
DrMurdock
300
ENT specialist
DrNarendra
1000
Nephrologist
DrWhite
10000
Pulmonologist
DrSummers
1500
Opthalmologist
DrStark
12000
Cardiologist
DrBanner
20000
Radiologist
Everything is printed in the next line.
I have a project where I have to store details in an enumerator and print them out. And it would not be useful if I just print them out in a long meaningless list. I want to have the attributes side by side instead of everything being printed in the next line.
答案1
得分: 0
使用 System.out.print() 替换前两个打印语句。保持最后一个语句为 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);
}
}
英文:
Use System.out.print() fort he first 2 print statements. Keep the last one as System.out.println();
Also add spaces to the end of the first 2 println statements.
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);
}
}
}
答案2
得分: 0
你正在使用“println”(即打印行),它会始终在每次调用结束时包含换行符。你可以使用System.out.print(它不包括换行符),但如果你使用String.format会更清晰:
System.out.println(String.format("%s\t%d\t%s", d, d.x, dz));
这将写入一行,每个字段之间用制表符分隔。
英文:
You're using "println" (i.e. print line) which will always include a newline at the end of each call. You could use System.out.print (which doesn't include the new line) but it is cleaner if you use String.format:
System.out.println("%s\t%d\t%s".format(d, d.x, dz));
That will write a line with each field separated by a tab.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论