【发布时间】:2016-08-06 03:01:04
【问题描述】:
我有一个 toString 需要打印很多东西,包括一个包含多个条目的 Arraylist。这些条目必须用新行分隔。这是我现在正在使用的 toString 代码:
@Override
public String toString() // Displays the info for a class
{
return getCourseId() + "\n" + getCourseName() + "\n" + getCourseCode()
+ "\n" + "\n" + "Instructor" + "\n" + "-------------------------"
+ "\n" + Instructor.toString() + "\n" + "\n" + "Student Roster"
+ "\n" + "-------------------------" + "\n" + roster;
}
名册确实会打印,但所有条目都存在于同一行,带有括号和逗号。
我的导师坚持 toString 是独立的,所以我目前在 toString 中的所有内容都必须保留在那里。
名册打印如下:
@Override
public String toString() // Displays the info for a person in order
{
return getPersonId() + "\t" + getLastName() + "\t" + getFirstName()
+ "\t" + getMajor() + "\t" + getGpa();
}
目前,我得到如下所示的输出:
10000
College Algebra
MATH 101
Instructor
-------------------------
X00009876 Jones Jane Associate Professor Mathematics
Student Roster
-------------------------
[X00000002 Smith Sally History 2.98, X00000003 Adams Amanda Civil Engineering 3.7, X00000005 Turner Thomas Nursing 2.34]
但我希望它看起来像这样:
10000
College Algebra
MATH 101
Instructor
-------------------------
X00009876 Jones Jane Associate Professor Mathematics
Student Roster
-------------------------
X00000002 Smith Sally History 2.98
X00000003 Adams Amanda Civil Engineering 3.7
X00000005 Turner Thomas Nursing 2.34
任何建议将不胜感激。谢谢!
【问题讨论】:
-
所以目前它打印像
["something", "something else", "some more"],但你想像"something" "something else" "some more"一样打印它吗? (所以没有方括号,逗号替换为空格?您能否添加当前输出和所需输出的示例以使问题更清晰? -
显示它当前的打印方式以及您希望它如何打印。
-
而不是使用 ArrayList 的 toString() 实现(通过将 roster 添加到字符串),为什么不在第一个 toString() 实现中遍历 roster 并在每个人上调用 toString()学生元素并在每个元素之后打印一个新行
-
我添加了我当前获得的输出示例和我希望看到的输出示例。我希望这能消除一些困惑。再次感谢!