Versions Compared

Key

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

...

  • void setFirstOperand(double) - lagre den angitte argumentverdien som første operand.
  • void setSecondOperand(double) - lagre den angitte argumentverdien som andre operand.
  • void setOperandsetOperator(char) - lagre den angitte argumentverdien som operator.
  • double calculateResult() - beregn den matematiske operasjonen ved å anvende operatoren (lagret i operator) på de to operandene og returner resultatet.void calculateAndSetFirstOperand() - beregn den matematiske operasjonen og sett resultatet som firstOperand i objektet. Bruke eksisterende metoder der dette er mulig.(firstOperand og secondOperand) og returner 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.

...

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). Hovedprogrammet skal .

Del 3 - Enkle beregninger/uttrykk

Legg til følgende metode:

  • void calculateAndSetFirstOperand() - beregn den matematiske operasjonen og sett firstOperand til resultatet. Bruke eksisterende metoder der dette er mulig.

La hovedprogrammet lese uttrykk fra tastaturet (altså System.in) med alternerende operand og operator (for eksempel . E.g. dersom brukeren skriver inn 1 + 2 * 3 - 2, så blir regner kalkulatoren først ut 1 + 2 (=3), så 3 * 3 (=9) og så 9 - 2 (=7) og bruke metodene i Calculator for å beregne resultatetresultatet (7) havner i firstOperand. Du trenger altså ikke å tenke på operator-prioritet.

...