import java.util.Iterator; class Hund implements Comparable { String navn; Kull mittKull; // Tidspunkt minFodselstid; Hund neste = null; Hund(Kull k, String navn) { this.navn = navn; mittKull = k; } // Oppgave 2a public Hund mor() { return mittKull.mor; } public Hund far() { return mittKull.far; } @Override public int compareTo(Hund h) { // Oppgave 2b return 0; } /* public boolean erHelsosken(Hund h) { // Oppgave 2c } public boolean erHalvsosken(Hund h) { // Oppgave 2c }*/ // Oppgave 2d public Hund finnEldsteKjenteOpphav() { if (mor() == null && far() == null) { return this; } else if (far() == null) { return mor().finnEldsteKjenteOpphav(); } else if (mor() == null) { return far().finnEldsteKjenteOpphav(); } else { Hund eldsteMorside = mor().finnEldsteKjenteOpphav(); Hund eldsteFarside = far().finnEldsteKjenteOpphav(); // Hvem er foedt foerst av far og mor if (eldsteMorside.compareTo(eldsteFarside) < 0) { return eldsteMorside; } else { return eldsteFarside; } } } } abstract class Kull implements Iterable { Hund mor, far; Kull (Hund mor, Hund far) { this.mor = mor; this.far = far; } public abstract void settInn(Hund h); public abstract Iterator iterator(); }