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

Compare with Current View Page History

Version 1 Next »

I denne oppgaven skal man implementere en enkel kalkulator. Kalkulatoren skal holde oversikt over to operander og en operator, samt utføre matematiske operasjoner.

Tilstanden i Calculator-objekter er som følger:

  • firstOperand - et desimaltall som skal brukes som første operand i den matematiske operasjonen.
  • secondOperand - et desimaltall som skal brukes som andre operand i den matematiske operasjonen.
  • operator - en char som representerer den matematiske operatoren, for eksempel '+', '-'. '*', '/', '%', ...

Calculator-klassen må inneholde følgende metoder:

  • setFirstOperand(double) - lagre den angitte argumentverdien som første operand.
  • setSecondOperand(double) - lagre den angitte argumentverdien som andre operand.
  • setOperand(char) - lagre den angitte argumentverdien som operator.
  • calculateResult() - beregn den matematiske operasjonen ved å anvende operatoren på de to operandene og skriv ut resultatet.

Alle metodene ovenfor må kunne håndtere ulovlige argumentverdier, for eksempel ikke-eksisterende matematiske operasjonstegn. Tenk også over at det ikke går an å dele på null o.l.

Del 1 - tilstandsdiagram

Tegn et objekttilstandsdiagram for en tenkt bruk av Calculator-klassen. Velg selv en passende start-tilstand for Calculator-objektet og sekvens av kall.

Del 2 - Java-kode

Skriv Java-kode for Calculator-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).

 

  • No labels