Question: Can you complete this code for me please below is the requirement. Create a stack based program StackMath that accepts a user's infix or postfix
Can you complete this code for me please below is the requirement.
Create a stack based program StackMath that accepts a user's infix or postfix expression string and displays it in the other notation along with an evaluation of this expression hint: see textbook sections and Also necessary is StackInterface.
Your program will contain the following methods, which may be in separate classes:
infixpostfix converts infix to postfix
postfixinfix converts postfix to infix
evaluatePostfix evaluates the postfix expression using a stack
evaluateInfix evaluates the postfix expression using a stack
Have your program allow the user to optionally use the classes:
LinkedStack, as outlined in Listing
ArrayStack, as outlined in Listing
Each of the above classes include these ancillary methods, at least:
pop
push
peek
isEmpty
clear
Within LinkedStack's comments, explain if toArray is should be included. Include it if so
Within ArrayStack's comments, explain if toArray is should be included. Include it if so
Program displays correct infix expression of user's postfix expression.
Program displays correct postfix expression of user's infix expression.
Program properly evaluates user's infix expression, displaying the correct result.
Program properly evaluates user's postfix expression, displaying the correct result.
Here is my code which I almost finish it
import java.util.Scanner;
public class StackMath
public static void mainString args
Scanner scanner new ScannerSystemin;
System.out.printlnEnter an expression infix or postfix:;
String expression scanner.nextLine;
StackInterface stack;
System.out.printlnChoose stack implementation: LinkedStack ArrayStack";
int choice scanner.nextInt;
scanner.nextLine; Consume newline
if choice
stack new LinkedStack;
else if choice
stack new ArrayStack;
else
System.out.printlnInvalid choice. Exiting program.";
return;
if isInfixexpression
String postfix infixToPostfixexpression;
System.out.printlnPostfix expression: postfix;
System.out.printlnEvaluation: evaluatePostfixpostfix stack;
else
String infix postfixToInfixexpression;
System.out.printlnInfix expression: infix;
System.out.printlnEvaluation: evaluateInfixinfix stack;
public static boolean isInfixString expression
Simple heuristic to determine if the expression is infix or postfix
return expression.contains expression.contains expression.contains expression.contains;
public static String infixToPostfixString infix
Implement infix to postfix conversion
You can use the StackInterface here
return ;
public static String postfixToInfixString postfix
Implement postfix to infix conversion
You can use the StackInterface here
return ;
public static int evaluatePostfixString postfix, StackInterface stack
Implement postfix expression evaluation
You can use the StackInterface here
return ;
public static int evaluateInfixString infix, StackInterface stack
Implement infix expression evaluation
You can use the StackInterface here
return ;
interface StackInterface
void pushT element;
T pop;
T peek;
boolean isEmpty;
void clear;
class LinkedStack implements StackInterface
Implementation of LinkedStack
class ArrayStack implements StackInterface
Implementation of ArrayStack
just do the implementations and fix if there mistakes thanks
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
