我刚开始使用子类等。 在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和公告(字符串)。答案 0 :(得分:1)
我想你要替换:
for (Person student : courseMembers) {
System.out.println(courseMembers);
}
使用:
for (Person student : courseMembers) {
System.out.println(student);
}
否则,它会多次打印整个列表。
现在您要确保类Student(和/或Person Person)覆盖toString()
,以便它打印出有意义的内容。
答案 1 :(得分:0)
System.out.println(courseMembers);
会为您提供人类无法读取的数据,因为courseMembers
是您的班级Student
的ArrayList。您可能希望访问每个courseMember
的属性,例如System.out.println(student.getName())
如果你使用吸气剂。
答案 2 :(得分:0)
我不确切地知道你的意思,但看看这个......
替换
System.out.println(courseMembers);
System.out.println(student.getName);
应打印courseMembers Array
的每个学生的姓名