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();
}
}