PersonOpplysninger.java [Last ned]

/*
 * Leser personopplysninger fra en fil, der hver linje er på
 * formen:  fornavn#etternavn#alder#yrke.
 * Programmet skriver ut en navneliste sortert på etternavn.
 * Forutsetter at alle inndatalinjene er korrekt oppsatt.
 */
import static javax.swing.JOptionPane.*;
import java.util.*;
import java.io.*;
 
public class PersonOpplysninger {
 
  public static void main(String[] args) {
    String filnavn = showInputDialog("Gi filnavn:");
    try {
      File fil = new File(filnavn);
      Scanner leser = new Scanner(fil);
      String[] navneListe = new String[100]; // Nok plass?
      int nr = 0;
      while ( leser.hasNextLine() ) {
        String linje = leser.nextLine();
        String[] data = linje.split("#");
        // Skilletegn på filen er ett grindtegn #
        String fornavn = data[0];
        String etternavn = data[1];
        // alder og yrke er ikke aktuelle her!
        navneListe[nr] = etternavn + ", " + fornavn;
        nr++;
      }
      leser.close();
      int antallNavn = nr;
 
      Arrays.sort(navneListe, 0, antallNavn);
 
      String utTxt = "Sortert navneliste:" + "\n";
      for (int i=0; i<antallNavn; i++)
        utTxt += navneListe[i] + "\n";
      showMessageDialog(null, utTxt);
    }
    catch (Exception e) {
      showMessageDialog(null, "Problem med filen!");
    }
  }
 
}
Kildekode blir vist ved hjelp av GeSHi.