/**
   * 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);
  }
  /**
   * Metoden registrere ny student. Hvis student med dette navnet allerede eksisterer, skjer ingen
   * registrering. Resultatet av operasjonen skrives ut til brukeren.
   */
  private void registrerNyStudent() {
    String navnNyStud = null;
    do {
      navnNyStud = showInputDialog("Oppgi navn: ");
    } while (navnNyStud == null);

    navnNyStud = navnNyStud.trim();
    if (oversikt.regNewStudent(navnNyStud)) {
      showMessageDialog(null, navnNyStud + " er registrert.");
      String[] alleNavn = oversikt.getAllNames();
      String[] nyMuligeValg = new String[alleNavn.length + 2];
      for (int i = 0; i < alleNavn.length; i++) {
        nyMuligeValg[i] = alleNavn[i];
      }
      nyMuligeValg[alleNavn.length] = NY_STUDENT;
      nyMuligeValg[alleNavn.length + 1] = AVSLUTT;
      muligeValg = nyMuligeValg;
    } else {
      showMessageDialog(null, navnNyStud + " er allerede registrert.");
    }
  }
 /**
  * Metoden leser inn valget som en streng, og returnerer den. Valget skal være argument til
  * metoden utførValgtOppgave(). Hvis programmet skal avsluttes, returneres null.
  */
 public String lesValg() {
   int antStud = oversikt.getNumStud();
   String valg =
       (String)
           showInputDialog(
               null,
               "Velg fra listen, " + antStud + " studenter:",
               "Godkjente oppgaver",
               DEFAULT_OPTION,
               null,
               muligeValg,
               muligeValg[0]);
   if (AVSLUTT.equals(valg)) {
     valg = null;
   }
   return valg;
 }