YOUR CALCULATOR ONLY NEEDS TO WORK FOR +, -, and * YOUR CALCULATOR ONLY NEEDS TO WORK ON INTEGERS.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Please create a RPN Calculator with the following instructions

RPN (Reverse Polish Notation) is a postfix method of expression mathematical
functions.
It is traditionally used to eliminate the necessity of parenthesis by
removing the order of operations and acting on operators as they occur.
Very simply, INFIX notation "1 + 1" is represented in POSTFIX notation as:
"1 1 +". Longer expressions may change radically. "1 + 2 * 3" assumes an
order of operations, while in POSTFIX, "2 3 * 1 +" or "1 2 3 * +"
The calculator works as follows:
if number, push to a stack
if operator, pop two numbers, operate on them, and push the result
if I hit an operator and there are not two numbers on the stack, it's a
bad expression
if I get to the end of the expression and there is not exactly one
number on the stack, it's a bad expression.
FOR YOUR IMPLEMENTATION, 30 points:
10 for making something that looks like it works
happening without a crash
10 for implementing LinkedListBasedStack
10 for implementing ArrayList
the input to output
YOUR CALCULATOR ONLY NEEDS TO WORK FOR +, -, and *
YOUR CALCULATOR ONLY NEEDS TO WORK ON INTEGERS.
5 bonus points for working on Doubles (this is a gimme)
5 bonus points for implementing division / (this is deceptively hard,
DO THIS LAST!)
Transcribed Image Text:RPN (Reverse Polish Notation) is a postfix method of expression mathematical functions. It is traditionally used to eliminate the necessity of parenthesis by removing the order of operations and acting on operators as they occur. Very simply, INFIX notation "1 + 1" is represented in POSTFIX notation as: "1 1 +". Longer expressions may change radically. "1 + 2 * 3" assumes an order of operations, while in POSTFIX, "2 3 * 1 +" or "1 2 3 * +" The calculator works as follows: if number, push to a stack if operator, pop two numbers, operate on them, and push the result if I hit an operator and there are not two numbers on the stack, it's a bad expression if I get to the end of the expression and there is not exactly one number on the stack, it's a bad expression. FOR YOUR IMPLEMENTATION, 30 points: 10 for making something that looks like it works happening without a crash 10 for implementing LinkedListBasedStack 10 for implementing ArrayList the input to output YOUR CALCULATOR ONLY NEEDS TO WORK FOR +, -, and * YOUR CALCULATOR ONLY NEEDS TO WORK ON INTEGERS. 5 bonus points for working on Doubles (this is a gimme) 5 bonus points for implementing division / (this is deceptively hard, DO THIS LAST!)
Expert Solution
steps

Step by step

Solved in 3 steps with 3 images

Blurred answer
Knowledge Booster
Matrix multiplication
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education