The following function converts a postfix expression to an infix expression assuming the expression can only contain unsigned integer numbers and ‘+’ and ‘-’ operators. 1. public static String convert(String postfix) { 2. String operand1, operand2, infix; 3. Stack s = new AStack; 4. int i = 0; 5. while(i < postfix.length) { 6. char nextc = postfix.charAt(i); 7. if ((nextc == '+')||(nextc == '-') { 8. operand2 = s.pop(); operand1 = s.pop(); 9. infix = '(' + operand1 + nextc + operand2 + ')'; 10. s.push(infix); i++; 11. } 12. else if (Character.isDigit(nextc)){ 13. int start = i; 14. while(Character.isDigit(postfix.charAt(i)) i++; 15. infix = postfix.substring(start,i); 16. s.push(infix); 17. } 18. else i++; 19. } 20 return s.pop(); 21. } a) Rewrite only the lines of code that need to be changed so that the above function converts a postfix expression to a prefix expression. b) Describe in words what changes are needed on the above given convert() function so that it also finds the value of the converted postfix expressio
- The following function converts a postfix expression to an infix expression assuming the expression can only contain unsigned integer numbers and ‘+’ and ‘-’ operators.
1. public static String convert(String postfix) { 2. String operand1, operand2, infix; 3. Stack<String> s = new AStack<String>; 4. int i = 0; 5. while(i < postfix.length) { 6. char nextc = postfix.charAt(i); 7. if ((nextc == '+')||(nextc == '-') { 8. operand2 = s.pop(); operand1 = s.pop(); 9. infix = '(' + operand1 + nextc + operand2 + ')'; 10. s.push(infix); i++; 11. } 12. else if (Character.isDigit(nextc)){ 13. int start = i; 14. while(Character.isDigit(postfix.charAt(i)) i++; 15. infix = postfix.substring(start,i); 16. s.push(infix); 17. } 18. else i++; 19. } 20 return s.pop(); 21. } |
a) Rewrite only the lines of code that need to be changed so that the above function converts a postfix expression to a prefix expression.
|
b) Describe in words what changes are needed on the above given convert() function so that it also finds the value of the converted postfix expression.
|
Trending now
This is a popular solution!
Step by step
Solved in 2 steps with 1 images