Versions Compared

Key

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


Excerpt

Oppgaven handler om en Account-klasse, som håndterer data i en konto.

Tilstanden i Account-objekter

Oppgave 1 - Account-klasse

Del 1 - tilstandsdiagram

Tegn et tilstandsdiagram for en tenkt bruk av en Account-klasse. Tilstanden er som følger:

  • balance - et desimaltall som angir beløpet som er på kontoen
  • interestRate - et desimaltall som angir rentefot som prosentpoeng.

Account-klassen har to fem metoder, deposit og addInterest, med  med følgende oppførsel:

  • deposit(double) - øker konto-beløpet med den angitte argument-verdien (som må være et positivt desimaltall), men kun dersom det er positivt
  • addInterest() - beregner renta og legger det til konto-beløpet

Velg selv en passende start-tilstand for Account-objektet og sekvens av kall.

Del 2 - Java-kode

Skriv Java-kode for Account-klassen med oppførsel som er beskrevet over.

Lag en passende toString()-metode og et hovedprogram, slik at du kan sjekke at oppførselen stemmer med tilstandsdiagrammet (bruk samme start-tilstand og sekvens av kall).

 

Oppgave 2 - Location-klasse

Del 1 - tilstandsdiagram

  • getBalance() - returnerer beløpet som er på kontoen. 
  • getInterestRate() - returnerer rentefoten
  • setInterestRate(double) - oppdaterer renten til å være den nye verdien

Del 1 - Tilstandsdiagram

Tegn et objekttilstandsdiagram Tegn et tilstandsdiagram for en tenkt bruk av en Location-klasse, som holder rede på x,y-posisjonen til en figur som beveger seg i et rutenett. Location-klassen har følgende metoder:

  • up() - beveger figuren en rute opp
  • down() - beveger figuren en rute ned
  • left() - beveger figuren en rute til venstre
  • right() - beveger figuren en rute til høyre

Velg selv passende tilstandsvariable for x,y-posisjonenAccount-klassen. Velg selv en passende start-tilstand for Account-objektet og sekvens av kall.

Del 2 - Java-kode

Skriv Java-kode for Location Account-klassen med oppførsel som er beskrevet over.

Lag en passende toString()-metode og et hovedprogramen main-metode, slik at du kan sjekke at oppførselen stemmer med tilstandsdiagrammet (bruk samme start-tilstand og sekvens av kall).

 

Oppgave 3

Del 1

Tegn et tilstandsdiagram for en tenkt bruk av en TextEditor-klasse. Klassen holder rede på en String-verdi og en tekstinnsettingsposisjon og har metoder for å redigere teksten. Tilstanden er som følger:

  • text (en String-verdi) - teksten
  • cursorIndex - heltall som angir hvor i teksten redigeringer vil skje

 

Klassen har metoder med følgende oppførsel:

  • left() - flytter tekstinnsettingsposisjonen ett tegn til venstre (tilsvarende bruk av venstre piltast)
  • right() - flytter tekstinnsettingsposisjonen ett tegn til høyre (tilsvarende bruk av venstre piltast)
  • insert(String) - skyter teksten angitt av argumentet inn i teksten på tekstinnsettingsposisjonen
  • deleteLeft() - fjerner tegnet til venstre for tekstinnsettingsposisjonen
  • deleteRight() - fjerner tegnet til venstre for tekstinnsettingsposisjonen

For alle disse bør du tenke på hva som er fornuftig oppførsel for spesielle tilfeller, f.eks. når tekstinnsettingsposisjonen er helt til venstre eller høyre. Tenk også på hva som bør skje med tekstinnsettingsposisjonen når teksten endres.

Del 2 - Java-kode

Skriv Java-kode for Location-klassen med oppførsel som beskrevet over.

 

Testkode for denne oppgaven finner du her: stateandbehavior/AccountTest.java. Original-koden (jextest) finner du her: stateandbehavior/Account.jextest.

Include Page
Bunntekst for oppgaver
Bunntekst for oppgaver

 

 Lag en toString()-metode som viser teksten med tegnet '|' skutt inn på tekstinnsettingsposisjonen. Lag så et hovedprogram, slik at du kan sjekke at oppførselen stemmer med tilstandsdiagrammet (bruk samme start-tilstand og sekvens av kall).