import java.util.*; import easyIO.*; class Barn { String navn; int foedt; HashMap soesken; Avdeling venter, opptak; Barn(String navn) { this.navn = navn; soesken = new HashMap(); } void les(In inn) { System.out.print("Foedselsaar: "); foedt = inn.inInt(); } void nyttSoesken(Barn b) { soesken.put(b.navn, b); } int alder() { int iaar = Calendar.getInstance().get(Calendar.YEAR); return iaar - foedt; } void settVenteliste(Avdeling a) { if (venter != null) { venter.fjernFraVenteliste(this); } venter = a; } /* Ved opptak til en avdeling, vil barnet ikke lenger staa paa * venteliste til denne avdelingen, og heller ikke vaere tatt opp i * noen annen avdeling. */ void tattopp(Avdeling a) { if (opptak != null) { opptak.slutter(this); } if (venter == a) { venter = null; } opptak = a; } void slutter() { if (opptak != null) { opptak.slutter(this); } opptak = null; } boolean harPlass() { return opptak != null; } /* Sjekker om noen av soesknene har plass i barnehagen * allerede. Brukes til aa gi soeskenprioritet ved opptak til * smaabarnsavdelinger. */ boolean soeskenMedPlass() { boolean plass = false; Iterator it = soesken.values().iterator(); while (it.hasNext() && !plass) { Barn b = (Barn) it.next(); if (b.harPlass()) { plass = true; } } return plass; } void vis() { System.out.print(navn + " er foedt i " + foedt + ", og har "); if (soesken.isEmpty()) { System.out.println("ingen soesken"); } else { System.out.print("foelgende soesken: "); Iterator it = soesken.values().iterator(); while (it.hasNext()) { System.out.print(((Barn)it.next()).navn + " "); } System.out.println(""); } if (venter != null) { System.out.println(navn + " staar paa venteliste til " + venter.navn); } if (opptak != null) { System.out.println(navn + " er tatt opp i " + opptak.navn); } } }