/** * Pasient-klassen */ public class Pasient implements Comparable { private String beskrivelse; private int prioritet; // invariant: 1 <= prioritet <= 10 public Pasient(String beskrivelse, int prioritet) { if (prioritet < 1 || prioritet > 10) { throw new IllegalArgumentException("Prioriteten maa vaere en verdi fra 1 til og med 10"); } this.beskrivelse = beskrivelse; this.prioritet = prioritet; } public int compareTo(Pasient annen) { if (prioritet < annen.prioritet) { return -1; } else if (prioritet == annen.prioritet) { return 0; } else // prioritet > annen.prioritet { return 1; } } public static void main(String[] args) { Pasient forste = new Pasient("Brukket bein", 3); Pasient andre = new Pasient("Mistanke om hjertefeil", 1); assert forste.compareTo(andre) < 0: " !< 0"; // maa kjores slik: java -enableassertions Pasient } } /** * Linje-klassen */ import java.util.Iterator; public class Linje implements Iterable { private Stopp start; public Linje(String navn) { start = new Stopp(navn); } public void leggTilStopp(String navn) { Stopp sisteStopp = start; while (sisteStopp.nesteStopp != null) { sisteStopp = sisteStopp.nesteStopp; } sisteStopp.nesteStopp = new Stopp(navn); } class Stopp { private String navn; private Stopp nesteStopp = null; public Stopp(String navn) { this.navn = navn; } @Override public String toString() { return navn; } } public Iterator iterator() { return new Linjeiterator(); } class Linjeiterator implements Iterator { private Stopp peker = start; public boolean hasNext() { return peker != null; } public Stopp next() { Stopp midlertig = peker; peker = peker.nesteStopp; return midlertig; } } public static void main(String[] args) { Linje linje1 = new Linje("Frognersæteren"); String[] stoppnavn = { "Voksenkollen", "Lillevann", "Skogen", "Voksenlia", "Holmenkollen", "Besserud", "Midtstuen", "Skådalen", "Vettakollen", "Gulleråsen", "Gråkammen", "Slemdal", "Ris", "Gaustad", "Vinderen", "Steinerud", "Frøen", "Majorstuen", "Nationaltheatret", "Stortinget", "Jernbanetorget", "Grønland", "Tøyen", "Ensjø", "Helsfyr" }; for (String navn : stoppnavn) { linje1.leggTilStopp(navn); } for (Stopp stopp : linje1) { System.out.println(stopp); } } }