Answered step by step
Verified Expert Solution
Question
1 Approved Answer
IN JAVA. I don't know how to write code for Expression.java and ExpressionTest.java. The output should look like the example below and run on the
IN JAVA. I don't know how to write code for Expression.java and ExpressionTest.java. The output should look like the example below and run on the command line. So if you type "java ExpressionTest "1 + 2 * 3" "10 / 2", it should give you the output seen below(notice the spaces). There are four java source files in total: Expression.java, ExpressionTest.java, StackInterface.java, and LinkedStack.java
We are used to writing arithmetic expressions with the operator between the two operands a +b or c/d. If we write a+bc, however, we must apply precedence odders to avoid ambiguous evaluation. This type of expression is called infix expression. There are two other types of different but equivalent ways of writing expressions. Infix: X+Y: Operators are written in-between their operands. Infix expression needs extra infommation to make the odder of evaluation of the operators clear. precedence and associativity. brackets ( ). For example, A(B+C)/D. Postfix: X Y +: Operators are written after their operands. The above infix expression can be written using postfix notation a ABC+D/ Prefix: + X Y: Operators are written before their operands. The above infix expression can be written using prefix notation as /A+BCD You are to implement two class methods that can convert an infix expression to its equivalent postfix and evaluate the postfix expression. A tern will be an integer literal. The parameter to your methods will be an array of Strings and so is the retum value. Fach element of the array can cither be an integer literal or a binary operator +// (where is the power operator, xy is xy ) You are to implement the class Exprersion which includes the algorithms comerrToPporfix and evaluanePoryfix. They are class methods. Class name: Expression Conversion of Infix to Postfix: Method name: String[l] comvertToPostfix (String[] infixExpression) infexExpression - each element is a token that can be an operator or an integer literal. Operater can be +,,+,/, or . This method will comvert an infix to a postfix expression. Throw a RevrimeErception/iusg) if ingexErpression is not well-formed or not an integer literal. Conversion of Infix to Postfix: Method name: int evaluatePostfix (String] posfixiexpression) Throw RundweErception/msg) when posifirE Exceptiow is not well-formed or not an integer literal. You must implement your own generic Stack ADT for this project. What to test? Think of your own cases correct input, without parentheses or with matched parentheses; and incorrect input (with unmatched parentheses). Your program should catch the error with unmatched parentheses and when one of the operands is missing. Make sure that you deal with all error conditions, for example, pop/top on an empty stack. Write an application named Expression Test that will take an integer infix expression(s) from the command line. Using the Expression class to convert and output the equivalent postfix express, and the evaluation of the postfix expression. Linked Implementation of a Stack /** A class of stacks whose entries are stored in a chain of nodes. */ public final class LinkedStackStep by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started