import java.util.*; public class GraduatingStudent extends Student { public GraduatingStudent () { } public GraduatingStudent (String aName, DirectorOfStudies aDos, HonoursCourse aCourse) { name = aName; director = aDos; course = aCourse; } public boolean validateChoices() { if (super.validateChoices()) { Module m; Iterator i = modules.iterator(); while (i.hasNext()) { m = (Module)i.next(); // check the module is appropriate for my course if (!course.isAcceptable(m)) { return false; } } return true; } else {return false;} } // a graduating student should only pick appropriate modules, // but we only advise, in case special arrangements have been made with DOS public void chooseModule(java.io.BufferedReader d) throws java.io.IOException { System.out.println ("Eligible modules for which you're not registered already:"); Iterator i = course.permittedModules.iterator(); Module mod; while (i.hasNext()) { mod = (Module)i.next(); if (!modules.contains(mod)) { // not already registered System.out.println (mod.name); } } System.out.println ("Module name:"); Module m = Registry.getModule(d.readLine()); if (null == m) { System.out.println ("Not a module"); } else { registerForModule(m); } } HonoursCourse course; }