KlSlett.java [Last ned]

/*
 * Beskriver en Klokkeslett-klasse med objektvariabler
 * for timer, minutt og sekund. Klassen har objekmetoder
 * for å sammenligne, skrive ut og teste lovlig oppsett.
 * Utskriftsoppsett for et klokkeslett  tt:mm:ss
 */
import static java.lang.Integer.*;
 
public class KlSlett {
 
  private int tim, min, sek;
 
  public KlSlett(int tim, int min, int sek) {
    this.tim = tim;
    this.min = min;
    this.sek = sek;
  }
 
  public KlSlett(String strKlSlett) {
    String[] tidTab = strKlSlett.split(":");
    tim = parseInt(tidTab[0]);
    min = parseInt(tidTab[1]);
    sek = parseInt(tidTab[2]);
  }
 
  public boolean erLik(KlSlett k) {
    // Avgjør om dette objektets klokkeslett (denneTid)
    // tidsmessig er lik parameteren (annenTid)
    String denneTid = this.toString();
    String annenTid = k.toString();
    return denneTid.equals(annenTid);
  }
 
  public boolean før(KlSlett k) {
    // Avgjør om dette objektets klokkeslett (denneTid)
    // tidsmessig kommer før parameteren (annenTid)
    String denneTid = this.toString();
    String annenTid = k.toString();
    return (denneTid.compareTo(annenTid) < 0);
  }
 
  // Alternativ: Bruker heltallig sammenlikning via
  // beregning av sekunder siden midnatt for begge.
  public boolean førInt(KlSlett k) {
    int denneTid = tim*3600 + min*60 + sek;
    int annenTid = k.tim*3600 + k.min*60 + k.sek;
    return (denneTid < annenTid);
  }
 
  public boolean lovlig () {
    boolean okTim = (0 <= tim && tim < 24);
    boolean okMin = (0 <= min && min < 60);
    boolean okSek = (0 <= sek && sek < 60);
    return okTim && okMin && okSek;
  }
 
  public String toString() {
    String ut = "";
    if ( tim < 10 ) ut += "0";
    ut += tim+":";
    if ( min < 10 ) ut += "0";
    ut += min+":";
    if ( sek < 10 ) ut += "0";
    ut += sek;
    return ut;
  }
 
}
Kildekode blir vist ved hjelp av GeSHi.