【问题标题】:Public void and returning an ArrayList in subclass [closed]公共无效并在子类中返回一个 ArrayList [关闭]
【发布时间】:2017-11-05 10:53:04
【问题描述】:

我不熟悉使用子类等。 在Java中,我正在尝试制作一个简单的程序,并且我想使用“public void”打印出来 子类中的 ArrayList。

我有主类“Person”和子类 Convenor 和 Student。 在班级召集人中,我试图打印一个带有学生课程成员的 ArrayList 和一个字符串 向终端发出通知。

到目前为止我所拥有的:

public class Convenor extends Person
{

private String kompetanse;

/**
 * Constructor for objects of class Student
 */
public Convenor(String name, String kompetanse)
{
    // initialise instance variables
    super(name);
    this.kompetanse = kompetanse;
}


public String getKompetanse()
{
    return kompetanse;
}


public void announce(ArrayList<Student> courseMembers, String announcement)
{
for (Person student : courseMembers) {
System.out.println(courseMembers);
}
System.out.println(announcement);
}

}

编辑:(很抱歉没有包含在原始帖子中) 我需要有关公共无效宣布方法的帮助。我不确定它里面有什么让它工作并执行我想要的任务(我从使用 for 循环开始,但我真的不知道在那里做什么)让它打印出 ArrayList 和公告(字符串)。

【问题讨论】:

  • 问题出在哪里?
  • 那么问题/疑问是什么?
  • 错误应该在这一行System.out.println(courseMembers);。我觉得应该是System.out.println(student.attribute);
  • 寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:如何创建 minimal reproducible example。使用“编辑”链接改进您的问题 - 不要通过 cmets 添加更多信息。谢谢!

标签: java arraylist subclass void


【解决方案1】:

我猜你想替换:

for (Person student : courseMembers) {
    System.out.println(courseMembers);
}

与:

for (Person student : courseMembers) {
    System.out.println(student);
}

否则,它将多次打印整个列表。

现在您要确保 Student 类(和/或 Person 类)覆盖 toString(),以便打印有意义的内容。

【讨论】:

    【解决方案2】:

    System.out.println(courseMembers); 将为您提供人类无法读取的数据,因为 courseMembers 是您的类 Student 的 ArrayList。您可能想要访问每个courseMember 的属性,例如System.out.println(student.getName()) 如果您使用吸气剂。

    【讨论】:

      【解决方案3】:

      我不知道你的意思,但是看看这个......

      替换 System.out.println(courseMembers);

      类似的东西 System.out.println(student.getName);

      应该打印 courseMembers 数组中每个学生的姓名

      【讨论】:

        猜你喜欢
        • 2021-11-13
        • 2014-03-26
        • 2021-06-12
        • 1970-01-01
        • 2014-08-08
        • 2021-08-17
        • 2012-12-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多