Question: In this program, you will write a command line calculator that can evaluate simple mathematical expressions on ints typed in postfix notation (also called reverse

 In this program, you will write a command line calculator that

can evaluate simple mathematical expressions on ints typed in postfix notation (also

called reverse polish notation, or RPN), as well as store variables for

In this program, you will write a command line calculator that can evaluate simple mathematical expressions on ints typed in postfix notation (also called reverse polish notation, or RPN), as well as store variables for later use in other expressions. Postfix notation: In a typical mathematical expression that you are probably used to, such as 5 2, the operator goes in-between the two operands (5 and 2). This is called "infix" notation. Postfix notation places the two operands first, and the sign last, giving 5 2 One of the main benefits of postfix notation is that it is easy to evaluate using a "stack". Parentheses are not needed, nor are precedence rules, since there is only one reasonable way to evaluate the expression. The algorithm to do this uses a stack ofnumbers, and can be stated in a few steps as follows: Given a Postfix expression such as "2 3 x break it into tokens, and initialize an empty stack of numbers. Then do the following steps: 1. Process the tokens from left to right. For each token If the token is an operand (a number or variable), push the value of the operand on the stack (of integers in our case) For an operator etc.), pop the needed number of operands off the stack, compute the result, and push it back on the stack. 2. The expression's value will be on the top of the stack at the end. Error checking is also easy. The following are error conditions: 1. If at any point there are not enough operands for an operation on the stack, the postfix expression is not valid 2. If more than one value is on the stack at the end, the expression is not valid Memory: Your calculator must have a memory that allows it to store or modify named variables. These can easily be stored in a HashMap, or parallel ArrayLists. In this program, you will write a command line calculator that can evaluate simple mathematical expressions on ints typed in postfix notation (also called reverse polish notation, or RPN), as well as store variables for later use in other expressions. Postfix notation: In a typical mathematical expression that you are probably used to, such as 5 2, the operator goes in-between the two operands (5 and 2). This is called "infix" notation. Postfix notation places the two operands first, and the sign last, giving 5 2 One of the main benefits of postfix notation is that it is easy to evaluate using a "stack". Parentheses are not needed, nor are precedence rules, since there is only one reasonable way to evaluate the expression. The algorithm to do this uses a stack ofnumbers, and can be stated in a few steps as follows: Given a Postfix expression such as "2 3 x break it into tokens, and initialize an empty stack of numbers. Then do the following steps: 1. Process the tokens from left to right. For each token If the token is an operand (a number or variable), push the value of the operand on the stack (of integers in our case) For an operator etc.), pop the needed number of operands off the stack, compute the result, and push it back on the stack. 2. The expression's value will be on the top of the stack at the end. Error checking is also easy. The following are error conditions: 1. If at any point there are not enough operands for an operation on the stack, the postfix expression is not valid 2. If more than one value is on the stack at the end, the expression is not valid Memory: Your calculator must have a memory that allows it to store or modify named variables. These can easily be stored in a HashMap, or parallel ArrayLists

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!