/** * Metoden registrerer oppgaver for en navngitt student. Brukerinput kontrolleres ved at det må * kunne tolkes som et tall. Registreringsmetoden (i klassen Student) kan kaste unntaksobjekt * IllegalArgumentException. Dette fanges også opp. I begge tilfeller må brukeren gjenta * inntasting inntil ok data. Endelig skrives det ut en melding om antall oppgaver studenten nå * har registrert. */ private void registrerOppgaver(String studNavn) { String melding = "Oppgi antall nye oppgaver som skal godkjennes for " + studNavn + ": "; int antOppgØkning = 0; boolean registrert = false; do { // gjentar inntil registrering aksepteres av objektet oversikt try { antOppgØkning = lesHeltall(melding); oversikt.increaseNumTasks( studNavn, antOppgØkning); // kan ikke returnere false, pga navn alltid gyldig registrert = true; // kommer hit bare dersom exception ikke blir kastet } catch ( IllegalArgumentException e) { // kommer hit hvis studenter får negativt antall oppgaver melding = "Du skrev " + antOppgØkning + ". \nIkke godkjent økning for " + studNavn + ". Prøv igjen: "; } } while (!registrert); melding = "Totalt antall oppgaver registrert på " + studNavn + " er " + oversikt.getNumTasks(studNavn) + "."; showMessageDialog(null, melding); }