Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Klokken startes når man ønsker å starte tidtakningen.
  • Alle tikk etter at klokken har blitt startet skal medregnes i tidtakningen.
  • Klokken stoppes når man ønsker å stoppe tidtakningen. Da er tidtakningen helt ferdig. Det er ikke en pause i tidtakningen - klokken skal ikke startes igjen.
  • Det skal være mulig å ta rundetider.
  • Første rundetid startes når klokken starter.
  • Under tidtakningen kan man starte en ny rundetid, og dermed implisitt avslutte den nåværende.
  • Siste rundetid avsluttes når klokken stoppes.

...

  • boolean isStarted() - returner true om klokken har blitt startet eller false om den ikke har blitt startet
  • boolean isStopped() - returner true om klokken har blitt stoppet eller false om den ikke har blitt stoppet. NB! Her Merk at her snakker vi om at klokken har blitt stoppet, ikke om klokken går eller ikke.
  • int getTicks() - returnerer det totale antall tikk (millisekunder) som har gått i levetiden til klokken uavhengig om klokken har vært startet eller stoppet.
  • int getTime() - returnerer antall tikk som har gått under tidtakningen. Hvis tidtakningen ikke har startet returner -1. Merk at hvis klokken er startet, men ikke stoppet, skal metoden returnere antall tikk som har gått siden klokken ble startet til nå. Hvis klokken er stoppet skal metoden returnere antall tikk som har gått fra klokken ble startet til klokken ble stoppet.
  • int getLapTime() - returnerer antall tikk som har gått under nåværende rundetid til nå. Hvis tidtakningen ikke har startet returner -1.
  • int getLastLapTime() - returnerer lengden på forrige ferdigmålte avsluttede rundetid. Hvis det ikke er noen tidligere rundetider returner -1.

Klassen skal ha følgende metoder for å endre tilstanden:

  • void tick(int ticks) - forteller klokken at ticks antall tikk har gått.
  • void start() - starter klokken.
  • void lap()

...

  • - avslutter nåværende rundetid og starter en ny

...

  • .
  • void stop() - stopper klokken.

Del 1 - tilstandsdiagram

Tegn et objekttilstandsdiagram for en tenkt bruk av StopWatch-klassen. Velg en sekvens av kall som både starter klokken, tar rundetider og stopper klokken.

...