Question: please use Java while writing the pseudocode and apply the given instance. thank you! seems pretty clear. thank you. Question 2: (50 pts) Assume that


Question 2: (50 pts) Assume that we are given a number and we carry out a sequence of mathematical operations (multiplication, division, subtraction, summation on the number. Consider the stack data structure in Java to store the history of the mathematical operations. Then, use the same stack to revert the mathematical operations on a given number Ex: number = 10 ----- Storing history - -------------- Operation 1: (first operand, type, second operand) = (number, *, 3) Do() returns 10 * 3 = 30, and the current value of number is 30. stack = {Operation 1} Operation 2: (first operand, type, second operand) = (number, +, 8) Do() returns 30 + 8 = 38, and the current value of number is 38. stack = {Operation 1, Operation 2} ----- Backtracking --- Last operation in the stack is Operation 2: (30, +, 8). Undo() returns 30, and the current value of number is 30 stack = {Operation 1} Last operation in the stack is Operation Undo() returns 10, and the current value of number is 10. stack = 0 Define a class Operation which has fields for the first operand, operation type (*, /, -, +) and second operand. This class should also implement a method Do(), which returns the result of the operation, and a method Undo(), which returns the first operand's value. . Let us given number = 10 initially and assume this value as the first operand. Randomly generate a operation type from *,/,-, +), and a value for the second operand in the range (1, 20) Store this operation in a Stack Operation, and implement Do() method to find the result. . Continue with the random operations on the current result (stored in number) for 5 times. . Then, utilize stack methods to backtrack the operations and revert the operations via Undo() method
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
