Java 在Arraylist中搜索

Java 在Arraylist中搜索,java,loops,arraylist,Java,Loops,Arraylist,目前我有两门课。一个教室和一个学校班级。我想在School classpublic void showClassRoomDetails中编写一个方法,只需使用teacherName即可找到教室的详细信息 e、 g。 teacherName=Daniel className=Science teacherName=Bob className=数学 所以当我输入Bob时,它会打印出Bob和数学 很多,谢谢 public class Classroom { private String classRo

目前我有两门课。一个教室和一个学校班级。我想在School class
public void showClassRoomDetails
中编写一个方法,只需使用teacherName即可找到教室的详细信息

e、 g。 teacherName=Daniel className=Science

teacherName=Bob className=数学

所以当我输入Bob时,它会打印出Bob和数学

很多,谢谢

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(int classroomId, String TeacherName)
{
    if (classroomId < classrooms.size() ) {
        classrooms.get(classroomId).setTeacherName(TeacherName);
    }
}

public void showClassRoomDetails
{
    //loop
   System.out.println(returnClassRoomName);
   System.out.println(returnTeacherName);     
}
}
公共课堂
{
私有字符串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(int classroomId,String TeacherName)
{
if(classroomId
更改方法签名以将targetTacherName作为参数。在教室里循环,直到你找到一个老师。输出该教室的信息。

由于您使用的是ArrayList,您只需为每个语句使用一个:

public void showClassRoomDetails(String teacherName)
{
  for (Classroom classroom : this.classrooms)
  {
    if (classroom.returnTeacherName().equals(teacherName))
    {
      System.out.println(classroom.returnClassRoomName());
      System.out.println(classroom.returnTeacherName());   
      break;
    }
  } 
}

作为一个小建议,不要将您的方法命名为returnXxx(),而是使用getXxx(),这是标准的Javabean约定。

您真的需要这里的列表吗? 一张包含课堂教师协会的地图会对你想要达到的目标更有帮助。
但是你的代码中也有一些奇怪的东西:例如,为什么你在学校课堂上把classRoomName和teacherName作为实例变量?

根据你在过去12小时内的另外两个问题,这看起来像是你希望我们为你做家庭作业。我认为如果你想学习如何编码,你应该自己做。如果你被困住了或不明白某事,那么就问你的问题。