TellOrdlengder.java [Last ned]

/*
 * Programmet leser en tekstfil og teller opp forekomsten
 * av alle ord med lengder under 12 (ord av lengde 1, av
 * lengde 2, osv.) Ord som er lengre en 12 telles samlet.
 */
 
import static javax.swing.JOptionPane.*;
import java.io.*;     // Diverse fil-klasser
import java.util.*;   // Spesielt Scanner-klassen
 
public class TellOrdlengder {
 
  public static void main(String[] args) throws Exception {
    final int MAX_LENGDE = 12;
    int[] antallAv = new int[MAX_LENGDE];
 
    String filnavn = showInputDialog("Gi filnavn:");
    File fil = new File(filnavn);
    Scanner leser = new Scanner(fil);
 
    // Dersom det er norske bokstaver i teksten, og
    // den er lagret i tegnsettet utf8, bruk:
    //    Scanner leser = new Scanner(fil, "utf8");
 
    while ( leser.hasNextLine() ) {
      String linje = leser.nextLine();
      String[] ordliste = linje.split("( |\\.|,)+");
      // Deler linjen i ord vha. mellomrom, punktum og komma.
      for (int i=0; i<ordliste.length; i++) {
         int ordlengde = ordliste[i].length();
         if ( ordlengde < MAX_LENGDE )
           antallAv[ordlengde]++;
         else
           antallAv[0]++;
      }
    }
    leser.close();
 
    String utTxt = "RESULTAT" + "\n";
    for (int i=1; i<MAX_LENGDE; i++)
      utTxt += "Ordlengde " + i + ":  " + antallAv[i] + "\n";
    utTxt += "Ordlengde >= " + MAX_LENGDE + ":  " + antallAv[0];
    showMessageDialog(null, utTxt);
  }
 
}
Kildekode blir vist ved hjelp av GeSHi.