package tauglichkeitstester.uhr;
/**
* Die Stopp-Uhr kann gestartet und gestoppt werden.
* Sie liefert die Laufzeit in Millisekunden.
*
* @author Multiplikatorengruppe LFB Informatik - OSA Karlsruhe
* Kursreihe B - Schuljahr 2002/03
* Michael Pohlig, Matthias Taulien
* @version 1.5 vom 04.11.2002
*/
public class StoppUhr {
/**
* Start- und Stopp-Zeit
*/
protected long startZeit, stoppZeit;
/**
* Speichert den Zustand der Uhr
*/
protected boolean istAktiv = false;
/**
* Startet die Uhr
*/
public void starten(){
if (!istAktiv) {
istAktiv = true;
startZeit = System.currentTimeMillis();
}
}
/**
* Stoppt die Uhr
*/
public void stoppen(){
if (istAktiv) {
istAktiv = false;
stoppZeit = System.currentTimeMillis();
}
}
/**
* Liefert die Laufzeit zurück.
* @return Laufzeit in Millisekunden
*/
public long getLaufzeit(){
return (istAktiv ? System.currentTimeMillis() : stoppZeit) - startZeit;
}
/**
* Liefert den Zustand der Uhr zurück,
* @return true, wenn die Uhr läuft, false sonst.
*/
public boolean istAktiv() {
return istAktiv;
}
/**
* Liefert die Laufzeit als Zeichenkette zurück.
* @return Laufzeit in Sekunden
*/
public String toString() {
double zeit = getLaufzeit()/1000.0;
return Double.toString(zeit) + " Sekunden";
}
}