You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Oppgaven handler om en Vehicle-klasse, som håndterer informasjon om et kjøretøy og implementerer innkapslingsmetoder med validering.

Et Vehicle-objekt inneholder type kjøretøy, drivstoffet det bruker og registreringsnummer:

  • Typen kan være enten motorsykkel eller bil. Typen skal returneres som ‘M’ eller ‘C’.

  • Drivstoffet kan være enten hydrogen, elektrisitet, diesel eller bensin. Kun biler kan gå på hydrogen.  Drivstoffet skal returneres som ‘H’, ‘E’, ‘D’ eller ‘B’.

  • Gyldige registreringsnummeret avhenger av typen kjøretøy og drivstoff etter følgende regler:

    • Kjøretøy som går på elektrisitet skal ha registreringsnummer som starter med bokstavene “EL” eller “EK”

    • Hydrogenbilene har registreringsnummer som begynner med bokstavene “HY”

    • Dieselbilen og bensinbiler har registreringsnummer som begynner på to bokstaver. De kan ikke være “EK”, “EL” eller “HY”. Bokstavene Æ, Ø og Å skal ikke brukes.

    • For alle drivstoff gjelder det at det skal være brukt store bokstaver.

    • Ellers så gjelder det at motorsykler har 4 sifre etter bokstavene, mens biler har 5.


Type kjøretøy, drivstoff og registreringsnummer settes i konstruktøren om det er gyldig. Dersom det ikke er gyldig skal unntak av typen IllegalArgumentException eller IllegalStateException utløses etter hva som er ugyldig.

Metoden setRegistrationNumber(String) skal kunne endre registreringsnummeret dersom det er gyldig i henhold til kravene over.

Vehicle-klassen må også ha getter-metoder for alle de 3 feltene.

Del 1 - Java-kode

Implementer Vehicle-klassen som beskrevet over med stram innkapsling. Eventuelle hjelpemetoder for validering bør også ha stram innkapsling.



  • No labels