17、改进教授类的AgreeToTeach方法的逻辑,使教授不会意外同意教授在同一天/同一时间上课的两个不同课程章节。
为实现此需求,可在 AgreeToTeach 方法中添加逻辑检查。在教授同意教授新的课程章节时,遍历其已教授的所有章节,检查新章节的上课时间(日期和时间)是否与已教授章节的时间冲突。若冲突,则不允许教授该章节。
以下是示例代码:
public class Professor
{
private Collection<Section> sectionsTaught;
// 其他字段和方法...
public bool AgreeToTeach(Section newSection)
{
foreach (Section section in sectionsTaught)
{
if (section.dayOfWeek == newSection.dayOfWeek &&
section.timeOfDay == newSection.timeOfDay)
{
return false; // 时间冲突,不允许教授
}
}
sectionsTaught.Add(newSection);
return true; // 时间不冲突,允许教授
}
}
18、为课程类实现一个取消课程节次的方法,然后修正课程节次编号分配方式中课程调度方法的错误逻辑。(提示:为此在课程类中引入一个静态字段,并在每次创建新的课程节次时对其进行递增操作,这样即使后续取消某个课程节次,也不会出现重复的节次编号。)
以下是实现 CancelSection 方法并修正 ScheduleSection 方法逻辑的

最低0.47元/天 解锁文章
1031

被折叠的 条评论
为什么被折叠?



