public class Uppgift2 { public static void main(String [] args) { Mask m1 = new Mask(14); Mask m2 = new Mask(17); Äpple ä1 = new Äpple(); Äpple ä2 = new Äpple(m1); try { ä1.taBortMasken(); ä2.stoppaInEnMask(m1); ä2.stoppaInEnMask(m2); } catch (ÄppletRedanTomtException e) { System.err.println("Äpplet var redan tomt."); } catch (ÄppletRedanFulltException e) { System.err.println("Äpplet var redan fullt."); } } // main } // Uppgift2 class Mask { private final int längd; private Mask störstaMasken = null; public Mask(int längd) { this.längd = längd; if (störstaMasken == null || störstaMasken.längd > this.längd) störstaMasken = this; } } // Mask class ÄppletRedanTomtException extends Exception { } class ÄppletRedanFulltException extends Exception { } class Äpple { private Mask mask = null; public Äpple() { } public Äpple(Mask masken) { this.mask = masken; } public void stoppaInEnMask(Mask masken) throws ÄppletRedanFulltException { if (this.mask != null) throw new ÄppletRedanFulltException(); this.mask = masken; } public void taBortMasken() throws ÄppletRedanTomtException { if (this.mask == null) throw new ÄppletRedanTomtException(); this.mask = null; } } // Äpple