gpt4 book ai didi

java - 在 toString 中打印 Arraylist,并用行分隔每个条目

转载 作者:行者123 更新时间:2023-12-01 16:52:46 24 4
gpt4 key购买 nike

我有一个 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

如有任何建议,我们将不胜感激。谢谢!

最佳答案

试试这个:

String rosterStr = roster.stream()
.map(r -> r.toString())
.collect(Collectors.joining("\n"))

这将获取名册中每个值的字符串,然后用换行符将它们连接起来

关于java - 在 toString 中打印 Arraylist,并用行分隔每个条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36625109/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com