Versions Compared

Key

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

...

Denne oppgaven inneholder elementer fra oppgavene Calculator og RPN-kalkulator under Tilstand og oppførsel. Formålet med oppgaven er å bli kjent med mekanismen for arv. Du skal implementere en SimpleCalculator som fungerer som en vanlig enkel kalkulator. Denne skal også brukes some som en superklasse for en RPN-kalkulator. Når kalkulatorprogrammer starter, skal det spørre brukeren om hvilken type kalkulator som skal brukes.

...

Når det kommer inn et tall, og det forrige som kom inn ikke var en operator, skal tallet tas til å være venstre operand.
Når det kommer inn et tall, og der forrige som kom inn var en operator, skal tallet tas til å være høyre operand, og inntil noe annet kommer kommer inn, skal hasOutput returnere true og getOutput skal være resultatet av utregningen. Resultatet skal også tas til å være venstre operand til neste gang.
Når det kommer inn en operator, skal det selfølgelig tas til å være operatoren skal skal brukes i utregningen.

 

Tester for SimpleCalculator kommer snart

Del 2: Subklasser

Lag en subklasse RPNCalculator. Denne skal arve fra SimpleCalculator, og skal redefinere takeInputNumber, takeInputOperator, hasOutput og getOutput. Her skal du gjenbruke resten av metodene fra SimpleCalculator.

...

Når det kommer inn et tall, skal det gå på stacken.
Når det kommer inn en operator, skal operandene komme av stakken, og hasOutput returnere true og getOutput skal være resultatet av utregningen inntil noe annen kommer inn. Resultatet skal også inn på toppen av stakken.

Tester for RPNCalculator kommer snart.

Del 3: Hovedprogramklasse

...