class MängdenFullException extends Exception { } class Mängd { private final static int MAX_ELEMENT = 10; private Object[] elementen = new Object[MAX_ELEMENT]; private int antalElement = 0; public void läggTill(Object elementet) throws MängdenFullException { if (finns(elementet)) { // Elementet finns redan i mängden. Gör ingenting. } else if (antalElement >= MAX_ELEMENT) { throw new MängdenFullException(); } else { elementen[antalElement++] = elementet; } } // läggTill public void taBort(Object elementet) { if (!finns(elementet)) { // Elementet finns inte i mängden. Gör ingenting. } else { for (int i = 0; i < antalElement; ++i) { if (elementet.equals(elementen[i])) { for (int j = i; i < antalElement - 1; ++i) elementen[j] = elementen[j + 1]; --antalElement; return; } } } } // taBort public boolean finns(Object elementet) { for (int i = 0; i < antalElement; ++i) if (elementet.equals(elementen[i])) return true; return false; } } // Mängd public class Uppgift4 { public static void main(String[] args) { for (int i = 0; i < 1000; ++i) { Mängd m = new Mängd(); try { for (int j = 0; j < i; ++j) { m.läggTill("Element " + j); } } catch (MängdenFullException e) { System.out.println("i = " + i + ", fångade " + e); } } } }