2 回答
TA贡献1829条经验 获得超4个赞
AinShams.getDepart() 指的是您定义为数据类型 College 的对象:
College AinShams = new College();
College 代码的其余部分不在此片段中,因此我无法判断 .getDepart() 方法是否存在。无论哪种方式,College 都不是 ArrayList。
如果您想访问 ArrayList 中对象的方法和字段,则可以使用以下类似的方法。作为示例,我以名为 departmentlist 的 ArrayList 为例,并使用 get() 方法返回该列表中的第 0 个元素。假设该类的第 0 个元素是 Department 类型的对象,.name 请求名称字段(再次假设 Department 类中存在此名称变量)。.getName() 是获取名称值的更好方法,但需要您在 Department 类中编写此方法。
departmentlist.get(0).name departmentlist.get(0).getName()
顺便说一句,考虑通过使用“\n”换行键格式化输出来减少代码顶部的一些“System.out.println()”混乱。尝试使用 1 次 system.out.println 调用打印两行文本的这两个示例:
System.out.println("Welcome to our university!" + "\n" + "Operations:"); System.out.println("Welcome to our university! \nOperations:");
TA贡献1806条经验 获得超8个赞
您想要向部门添加新学生。您的College班级还有其他属性,例如部门列表、教授等。
方法:
您可以通过 case-2e 中用户传递的部门名称(属性)从数组列表中获取 Department 对象。然后使用该对象将新学生插入其学生列表。
代码:
您的代码可能类似于下面的内容(请原谅任何编译错误,因为我没有使用过任何 IDE。按照方法进行操作):
String dept = in.nextLine();
Department department = AinShams.getDepart().stream().filter(department -> department.getName().contentEquals(dept)).limit(1);
department.getStudentList().add(new Student());
或者使用以下方法:
Department findDepartment(List<Department> deptList, String dept) {
for(Department department : deptList) {
if(department.getName().equals(dept)) {
return department;
}
}
return null;
}
添加回答
举报