Introduction to Java Programming and Data Structures, Comprehensive Version (11th Edition)
11th Edition
ISBN: 9780134670942
Author: Y. Daniel Liang
Publisher: PEARSON
expand_more
expand_more
format_list_bulleted
Question
Chapter 20, Problem 20.14PE
Program Plan Intro
Postfix notation
Program plan:
- Import the required packages into the program.
- In the Exercise20_14 class,
- In the main() method,
- Check length of the argument. If yes, display the error message.
- Declare the variable.
- The for loop executes until the length of arguments. If yes, evaluate the expression.
- In try block, call evaluateExpression() method by passing the input expression.
- In catch, block, catch the exception.
- In the evaluateExpression() method.
- Create an object for Stack.
- Extract operands and operators.
- The while loop executes until token to scan the expression. If yes,
- Extract an expression.
- Check whether the length of expression is equal to 0. If yes, continue the code.
- Otherwise, check the expression. If yes, call processAnOperator() method.
- Otherwise, Call push() method to push an operand into stack.
- Return the result.
- In the processAnOperator() method.
- Check whether operator. If yes, perform the addition operation and push the result to stack.
- Otherwise, check whether operator. If yes, perform the subtraction operation and push the result to stack.
- Otherwise, check whether operator. If yes, perform the multiplication operation and push the result to stack.
- Otherwise, check whether operator. If yes, perform the division operation and push the result to stack.
- In the main() method,
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
(True/False): Arrays are passed by reference to avoid copying them onto the stack
Identify the difference between STACK and ARRAY.
Represents an integer evaluator of postfix expressions. Assumes the operands are constants.
Evaluates the specified postfix expression. If an operand is encountered, it is pushed onto the stack. If an operator is encountered, two operands are popped, the operation is evaluated, and the result is pushed onto the stack. param expr string representation of a postfix expression return value of the given expression
use java to code
Chapter 20 Solutions
Introduction to Java Programming and Data Structures, Comprehensive Version (11th Edition)
Ch. 20.2 - Prob. 20.2.1CPCh. 20.2 - Prob. 20.2.2CPCh. 20.2 - Prob. 20.2.3CPCh. 20.2 - Prob. 20.2.4CPCh. 20.2 - Prob. 20.2.5CPCh. 20.3 - Prob. 20.3.1CPCh. 20.3 - Prob. 20.3.2CPCh. 20.3 - Prob. 20.3.3CPCh. 20.3 - Prob. 20.3.4CPCh. 20.4 - Prob. 20.4.1CP
Ch. 20.4 - Prob. 20.4.2CPCh. 20.5 - Prob. 20.5.1CPCh. 20.5 - Suppose list1 is a list that contains the strings...Ch. 20.5 - Prob. 20.5.3CPCh. 20.5 - Prob. 20.5.4CPCh. 20.5 - Prob. 20.5.5CPCh. 20.6 - Prob. 20.6.1CPCh. 20.6 - Prob. 20.6.2CPCh. 20.6 - Write a lambda expression to create a comparator...Ch. 20.6 - Prob. 20.6.4CPCh. 20.6 - Write a statement that sorts an array of Point2D...Ch. 20.6 - Write a statement that sorts an ArrayList of...Ch. 20.6 - Write a statement that sorts a two-dimensional...Ch. 20.6 - Write a statement that sorts a two-dimensional...Ch. 20.7 - Are all the methods in the Collections class...Ch. 20.7 - Prob. 20.7.2CPCh. 20.7 - Show the output of the following code: import...Ch. 20.7 - Prob. 20.7.4CPCh. 20.7 - Prob. 20.7.5CPCh. 20.7 - Prob. 20.7.6CPCh. 20.8 - Prob. 20.8.1CPCh. 20.8 - Prob. 20.8.2CPCh. 20.8 - Prob. 20.8.3CPCh. 20.9 - How do you create an instance of Vector? How do...Ch. 20.9 - How do you create an instance of Stack? How do you...Ch. 20.9 - Prob. 20.9.3CPCh. 20.10 - Prob. 20.10.1CPCh. 20.10 - Prob. 20.10.2CPCh. 20.10 - Prob. 20.10.3CPCh. 20.11 - Can the EvaluateExpression program evaluate the...Ch. 20.11 - Prob. 20.11.2CPCh. 20.11 - If you enter an expression "4 + 5 5 5", the...Ch. 20 - (Display words in ascending alphabetical order)...Ch. 20 - (Store numbers in a linked list) Write a program...Ch. 20 - (Guessing the capitals) Rewrite Programming...Ch. 20 - (Sort points in a plane) Write a program that...Ch. 20 - (Combine colliding bouncing balls) The example in...Ch. 20 - (Game: lottery) Revise Programming Exercise 3.15...Ch. 20 - Prob. 20.9PECh. 20 - Prob. 20.10PECh. 20 - (Match grouping symbols) A Java program contains...Ch. 20 - Prob. 20.12PECh. 20 - Prob. 20.14PECh. 20 - Prob. 20.16PECh. 20 - (Directory size) Listing 18.10,...Ch. 20 - Prob. 20.20PECh. 20 - (Nonrecursive Tower of Hanoi) Implement the...Ch. 20 - Evaluate expression Modify Listing 20.12,...
Knowledge Booster
Similar questions
- Take an Infix expression from the user and convert to a Postfix expression using Stacks. The use of pointers is not allowed.arrow_forwardD. If the values of A, B , C and D are 2, 3, 4 and 5 respectively, manually calculate the value of the following postfix expressions using stack. a. AB*C-D+ b. ABC +*D- ||arrow_forwardA set of instructions may be used to show a function's return address. Remember that any modifications you make to the stack cannot prevent the procedure from returning to its caller.arrow_forward
- (Please Help. My professor did not teach us any of this and will not answer my emails) Design a class named Queue for storing integers. Like a stack, a queue holds elements. In a stack, the elements are retreived in a last-in-first-out fashion. In a queue, the elements are retrieved in a first-in-first-out fashion. The class contains: An int[] data field named elements that stores the int values in the queue A data field named size that stores the number of elements in the queue A constructor that creates a Queue object with defult capacity 8 The method enqueue(int v) that adds v into the queue The method empty () that returns true if the queue is empty The method getSize() that returns the size of the queuearrow_forward1. (Store numbers in a linked list) Write a program that lets the user enter numbers and displays numbers as described below. Use a linked list to store the numbers. Do not store duplicate numbers. Add the methods Sort, Shuffle, and Reverse to sort, shuffle, and reverse the list in the application class (driver class).arrow_forward4. Evaluate the following postfix expression. 3 55 * + 5 7 + 6/- The value of the above postfix expression is a 26 b. 22 Write step by step procedure of solving this problem. Your Answer is (a or b) Use the above stack and fill (push) in numbers. Type "pop" beside the number when you need to pop it out. Finally, find the postfix expression value. Nextarrow_forward
- 1. (Store numbers in a linked list) Write a program that lets the user enter numbers and displays numbers as described below. Use a linked list to store the numbers. Do not store duplicate numbers. Add the methods Sort, Shuffle, and Reverse to sort, shuffle, and reverse the list in the application class (driver class). Please submit the source code and bytecode.arrow_forwardJavascript: Write out the call stack for this program if x is 3. function factorial(x) { if (x === 0) {return 1;}return x * factorial(x-1); }console.log(factorial(x)); Use "not in function" if not in a function, and put the function name along with the arguments if in a function.arrow_forwarddef winning_card(cards, trump=None): Playing cards are again represented as tuples of (rank,suit) as in the cardproblems.pylecture example program. In trick taking games such as whist or bridge, four players each play one card from their hand to the trick, committing to their play in clockwise order starting from the player who plays first into the trick. The winner of the trick is determined by the following rules:1. If one or more cards of the trump suit have been played to the trick, the trick is won by the highest ranking trump card, regardless of the other cards played.2. If no trump cards have been played to the trick, the trick is won by the highest card of the suit of the first card played to the trick. Cards of any other suits, regardless of their rank, are powerless to win that trick.3. Ace is the highest card in each suit.Note that the order in which the cards are played to the trick greatly affects the outcome of that trick, since the first card played in the trick…arrow_forward
- a) Select whether the statement is True or False. i. A stack is a data structure in which the items can be added and deleted from both ends of the structure. (True / False) ii. The basic operations on a stack are as follows: Push an item onto the stack, pop an item from the stack, retrieve the top element of the stack, initialize the stack, check whether the stack is empty, and check whether the stack is full. (True / False) ii. The middle elements of a stack could be accessed directly. (True / False) iv. Postfix notation does not require the use of parentheses to enforce operator precedence, and the operators are written after the operands. T(True / False) b) Convert the following infix expressions to postfix notations. i. (A + B) * (C + D) - E ii. A (B + C) * D + E / F iii. ( (A + B) / (C - D) + E) * F - G iv. A + B * (C + D) E / F * G + Harrow_forwardquestion 1 Write a program to evaluate a postfix expression. Input: a postfix expression. E.g. 3 5 + Output: the result of the expression. E.g. the result for the above input is 8. Note: You must use the stack to implement this task. And please give the stack solutions for both the following implementations: Implement the array-based stack Implement the pointer-based stack Test your program using the following expressions: 3 5 + 3 5 + 6 * 3 5 6 + * 3 5 6 * 8 - 2 / + 12 20 + 16 / do not copy from chegg and do in c++arrow_forwardA sequence of instructions may be used to see the function's return address. Any modifications to the stack must be made with the return of the method to its caller in mind.arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education
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)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education