import java.util.HashMap; public class Leilighet { int leilighetsnummer; double kvadratmeter; } class Leilighetskompleks { private HashMap etasjer = new HashMap<>(); public void leggTilEtasje(String etasjenummer) { validerEtasjenummer(etasjenummer); if(etasjer.containsKey(etasjenummer)) { throw new IllegalArgumentException("Ingen duplikater"); } Leilighet[] leiligheter = new Leilighet[15]; etasjer.put(etasjenummer, leiligheter); } private void validerEtasjenummer(String etasjenummer) { if(etasjenummer == null || !etasjenummer.startsWith("etasje")) { throw new IllegalArgumentException("maa starte med etasje"); } String nummerdel = etasjenummer.substring(6); try { Integer.parseInt(nummerdel); } catch(NumberFormatException e) { throw new IllegalArgumentException("maa inneholde et nummer"); } } public Leilighet[] hentLeiligheteneIEtasje(String etasjenummer) { validerEtasjenummer(etasjenummer); if(!etasjer.containsKey(etasjenummer)) { throw new IllegalArgumentException("Etasje finnes ikke"); } return etasjer.get(etasjenummer); } public void settInnLeilighet(String etasjenummer, Leilighet leilighet, int indeks) { validerEtasjenummer(etasjenummer); if(leilighet == null) { throw new IllegalArgumentException("Leilighet kan ikke vaere null"); } Leilighet[] leiligheter = etasjer.get(etasjenummer); if(leiligheter == null) { throw new IllegalArgumentException("Etasje finnes ikke"); } if(indeks < 0 || indeks >= leiligheter.length) { throw new IllegalArgumentException("Ugyldig indeks"); } leiligheter[indeks] = leilighet; } }