import java.util.Scanner; class Dyreklinikk { private final String navn; private final K? k? = new PrioK?<>(); private final Scanner scanner = new Scanner(System.in); private int behandlede = 0; private boolean ?pen = false; Dyreklinikk(String navn) { this.navn = navn; } // antallValg er maks antall vi godtar // returnerer -1 hvis ikke gyldig private int inputTall(int antallValg) { int valg = -1; try { valg = Integer.parseInt(scanner.nextLine()); } catch (NumberFormatException e) { System.out.println("Ugyldig valg."); } if (valg < 0 || valg > antallValg) { valg = -1; } return valg; } private void registrer() { int valg = -1; while (valg < 0) { System.out.println("===== Dyreart ====="); System.out.println("1. Sau"); System.out.println("2. Giraff"); System.out.println("3. Pingvin"); System.out.println("0. Tilbake"); System.out.println("==================="); valg = inputTall(3); if (valg == 0) { return; } } System.out.print("Hva er navnet: "); String navn = scanner.nextLine(); System.out.print("Hvor gammel: "); int alder = inputTall(10000); System.out.print("Er det akutt? (j/n): "); boolean akutt = scanner.nextLine().toLowerCase().startsWith("j"); Dyr dyr = null; if (valg == 1) { dyr = new Sau(navn, alder, akutt); } if (valg == 2) { dyr = new Giraff(navn, alder, akutt); } if (valg == 3) { dyr = new Pingvin(navn, alder, akutt); } if (dyr != null) { k?.inn(dyr); System.out.println(dyr.hentArt() + " lagt til."); } } private void behandle() { Dyr dyrTilLegen = k?.ut(); if (dyrTilLegen != null) { System.out.println( "Behandler " + dyrTilLegen.hentNavn() + " som er " + dyrTilLegen.hentAlder() + " ?r gammel, og er en " + dyrTilLegen.hentArt() ); behandlede++; } else { System.out.println("Ingen dyr i k?en"); } } private void ?pnet() { ?pen = true; while (?pen) { System.out.println(navn); System.out.println("==== Hovedmeny ===="); System.out.println("1. Registrer dyr"); System.out.println("2. Behandle dyr"); System.out.println("3. Status"); System.out.println("0. Avlsutt"); System.out.println("==================="); int valg = inputTall(3); if (valg == 1) { registrer(); } else if (valg == 2) { behandle(); } else if (valg == 3) { System.out.println( "Det er " + k?.st?rrelse() + " i k? og " + behandlede + " dyr er behandlet." ); if (k?.hvemErNeste() != null) { System.out.println( "Neste i k?en er " + k?.hvemErNeste().hentNavn() ); } } else if (valg == 0) { ?pen = false; } } } public static void main(String[] args) { Dyreklinikk frosken = new Dyreklinikk("? Friske Frosk Dyreklinikk"); frosken.?pnet(); } }