如何在java中使用arraylist索引调用另一个类中的方法?
目前我有两门课。一个教室和一个学校班级如何在java中使用arraylist索引调用另一个类中的方法?,java,Java,目前我有两门课。一个教室和一个学校班级 public void addTeacherToClassRoom(教室我的教室,字符串TeacherName) 我希望我的方法addTeacherToClassRoom使用教室数组列表索引号来设置AcherName e、 g。 int 0=数学 int 1=科学 我想在int 1科学中设置一个名字“丹尼尔” 很多,谢谢 public class Classroom { private String classRoomName; private S
public void addTeacherToClassRoom(教室我的教室,字符串TeacherName)
我希望我的方法addTeacherToClassRoom使用教室数组列表索引号来设置AcherName
e、 g。
int 0=数学
int 1=科学
我想在int 1科学中设置一个名字“丹尼尔”
很多,谢谢
public class Classroom
{
private String classRoomName;
private String teacherName;
public void setClassRoomName(String newClassRoomName)
{
classRoomName = newClassRoomName;
}
public String returnClassRoomName()
{
return classRoomName;
}
public void setTeacherName(String newTeacherName)
{
teacherName = newTeacherName;
}
public String returnTeacherName()
{
return teacherName;
}
}
import java.util.ArrayList;
public class School
{
private ArrayList<Classroom> classrooms;
private String classRoomName;
private String teacherName;
public School()
{
classrooms = new ArrayList<Classroom>();
}
public void addClassRoom(Classroom newClassRoom, String theClassRoomName)
{
classrooms.add(newClassRoom);
classRoomName = theClassRoomName;
}
public void addTeacherToClassRoom(Classroom myClassRoom, String TeacherName)
{
myClassRoom.setTeacherName(TeacherName);
}
}
公共课堂
{
私有字符串classRoomName;
私有字符串教师名;
public void setClassRoomName(字符串newClassRoomName)
{
classRoomName=新classRoomName;
}
公共字符串returnClassRoomName()
{
返回classRoomName;
}
public void settacherName(字符串newTeacherName)
{
教师姓名=新教师姓名;
}
公共字符串returnTeacherName()
{
返回教师姓名;
}
}
导入java.util.ArrayList;
公立学校
{
私立ArrayList教室;
私有字符串classRoomName;
私有字符串教师名;
公立学校()
{
教室=新的ArrayList();
}
public void add教室(教室新建教室,字符串为教室名称)
{
教室。添加(新建教室);
classRoomName=classRoomName;
}
public void addTeacherToClassRoom(教室我的教室,字符串TeacherName)
{
我的教室.settacherName(教师姓名);
}
}
这够了吗?我想你是在要求做这样的事情:
public void addTeacherToClassRoom(int classroomId, String TeacherName)
{
if (classroomId < classrooms.size() ) {
classrooms.get(classroomId).setTeacherName(TeacherName);
}
}
public void addTeacherToClassRoom(int classroomId,String TeacherName)
{
if(classroomId
这将访问教室中的一个教室对象,并在其上调用settacherName方法。我相信您正在寻找的方法是questions.indexOf(My教室)。这应该返回您正在查找的教室的索引 但是,为了使其可靠地工作,您应该在教室类上重写并实现hashCode()和equals()方法
public void addTeacherToClassRoom(Classroom myClassRoom, String teacherName){
int index = classrooms.indexOf(myClassRoom);
if(index == -1){
//The classroom isn't in the list yet.
myClassRoom.setTeacherName(teacherName);
classrooms.add(myClassRoom);
}else{
//Just update the teacher on the existing classroom.
classrooms.get(index).setTeacherName(teacherName);
}
}
听起来您想假设列表中的某些索引值将对应于某些类,但是,使用动态扩展的数组,您似乎很难跟踪哪个索引是哪个。也许你最好有一个静态大小的列表,比如教室[2]?
public void addTeacherToClassRoom(Classroom myClassRoom, String teacherName){
int index = classrooms.indexOf(myClassRoom);
if(index == -1){
//The classroom isn't in the list yet.
myClassRoom.setTeacherName(teacherName);
classrooms.add(myClassRoom);
}else{
//Just update the teacher on the existing classroom.
classrooms.get(index).setTeacherName(teacherName);
}
}