public class Hund implements Comparable { String navn; Kull mittKull; Tidspunkt minFodselstid; Hund neste = null; Hund(Kull k, String navn, Tidspunkt fodt) { this.navn = navn; mittKull = k; minFodselstid = fodt; } @Override public int compareTo(Hund h) { return minFodselstid.compareTo(h.minFodselstid); } public Hund mor() { return mittKull.mor; } public Hund far() { // Oppgave 2a return mittKull.far; } public boolean erHelsosken(Hund h) { return (mor() != null && far() != null && mor() == h.mor() && far() == h.far()); } public boolean erHalvsosken(Hund h) { return (!erHelsosken(h) && (mor() != null && mor() == h.mor()) || (far() != null && far() == h.far())); } public Hund finnEldsteKjenteOpphav() { if (mor() == null) { if (far() == null) { return this; } else { return far().finnEldsteKjenteOpphav(); } } if (far() == null) { return mor().finnEldsteKjenteOpphav(); } Hund morsEldsteOpphav = mor().finnEldsteKjenteOpphav(); Hund farsEldsteOpphav = far().finnEldsteKjenteOpphav(); if (morsEldsteOpphav.compareTo(farsEldsteOpphav) > 0) { return farsEldsteOpphav; } else { return morsEldsteOpphav; } } }