Big Java Late Objects
2nd Edition
ISBN: 9781119330455
Author: Horstmann
Publisher: WILEY
expand_more
expand_more
format_list_bulleted
Question
Chapter 13, Problem 21PE
Program Plan Intro
Expression Evaluator
Program plan:
Filename: “Evaluator.java”
This code snippet creates a class “Evaluator”. In the code,
- Define a class “Evaluator”.
- Declare the class member “tokenizer”.
- Define a constructor “Evaluator()”.
- Define “tokenizer”.
- Define the method “getExpressionValue()”.
- Set “value”.
- Declare “done”.
- While true,
- Get the token to “next”.
- If “next” equal to “+” or “-”,
- Call “nextToken()” to get the token.
- Define “value2”.
- If “next” equal to “+”,
-
- Evaluate “value”.
- Else,
-
- Evaluate “value”.
- Else,
- Set “done” equal to “true”.
-
-
- Return “value”.
-
- Define the method “getTermValue()”.
- Set “value”.
- Declare “done”.
- While true,
- Get the token to “next”.
- If “next” equal to “*” or “/” or “%”,
- Call “nextToken()” to get the token.
- Define “value2”.
- If “next” equal to “*”,
-
- Evaluate “value”.
- Else if “next” equal to “/”,
-
- Evaluate “value”.
- Else,
-
- Set the “value”.
- Else,
- Set “done” equal to “true”.
-
-
- Return “value”.
-
- Define the method “getExponentiationValue()”.
- Set “value”.
- Declare “done”.
- While true,
- Get the token to “next”.
- If “next” equal to “^”.
- Call “nextToken()” to get the token.
- Define “value2”.
- Set the “value”.
- Else,
- Set “done” equal to “true”.
-
-
- Return “value”.
-
- Define the method “getFactorValue()”.
- Set “value”.
- Set the value of “next”.
- If “next” equal to “^”.
- Call “nextToken()” to get the token.
- Define “value”.
- Call “nextToken()”
-
-
- Else,
- Set “value”.
- Return “value”.
- Else,
-
-
Filename: “ExpressionTokenizer.java”
This code snippet creates a class “ExpressionTokenizer”. In the code,
- Define a class “ExpressionTokenizer”.
- Declare a string “input”.
- Declare an integer “start”.
- Declare an integer “end”.
- Define a constructor “ExpressionTokenizer()”.
- Set the value of class members “input”, “start” and “end”.
- Call “nextToken()”.
- Define the method “peekToken()”.
- If the value of “start” is greater than or equal to length of “input”.
- Return “null”.
- Else,
-
- Return substring of “input”.
- Return “null”.
- If the value of “start” is greater than or equal to length of “input”.
- Define the method “nextToken()”.
- Set the value of “start” equal to “end”.
- While “true”,
- Increment the value of “start” by 1.
- If the condition is true,
-
- Return the value of “r”.
- If the condition is true,
-
- Set “end” equal to “start+1”.
- While “true”,
- Increment the “end” by 1.
- Else,
-
- Set “end” equal to “start+1”.
- Return the value of “r”.
- Increment the value of “start” by 1.
Filename: “expressionCalculator.java”
This code snippet creates a class “expressionCalculator”. In the code,
- Define a class “expressionCalculator”.
- Define the “main” method.
- Define the object of the class “Scanner”.
- Prompt the user to enter the expression.
- Scan for the “input”.
- Define the object of class “Evaluator”.
- Set the “value”.
- Print new line.
- Print the value of “input” and “value”.
- Define the “main” method.
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionChapter 13 Solutions
Big Java Late Objects
Ch. 13.1 - Prob. 1SCCh. 13.1 - Prob. 2SCCh. 13.1 - Prob. 3SCCh. 13.1 - Prob. 4SCCh. 13.1 - Prob. 5SCCh. 13.2 - Prob. 6SCCh. 13.2 - Prob. 7SCCh. 13.2 - Prob. 8SCCh. 13.2 - Prob. 9SCCh. 13.3 - Prob. 10SC
Ch. 13.3 - Prob. 11SCCh. 13.3 - Prob. 12SCCh. 13.4 - Prob. 13SCCh. 13.4 - Prob. 14SCCh. 13.4 - Prob. 15SCCh. 13.5 - Prob. 16SCCh. 13.5 - Prob. 17SCCh. 13.5 - Prob. 18SCCh. 13.6 - Prob. 19SCCh. 13.6 - Prob. 20SCCh. 13.6 - Prob. 21SCCh. 13 - Prob. 1RECh. 13 - Prob. 2RECh. 13 - Prob. 3RECh. 13 - Prob. 4RECh. 13 - Prob. 5RECh. 13 - Prob. 6RECh. 13 - Prob. 7RECh. 13 - Prob. 8RECh. 13 - Prob. 9RECh. 13 - Prob. 10RECh. 13 - Prob. 11RECh. 13 - Prob. 12RECh. 13 - Prob. 13RECh. 13 - Prob. 1PECh. 13 - Prob. 2PECh. 13 - Prob. 3PECh. 13 - Prob. 4PECh. 13 - Prob. 5PECh. 13 - Prob. 6PECh. 13 - Prob. 7PECh. 13 - Prob. 8PECh. 13 - Prob. 9PECh. 13 - Prob. 10PECh. 13 - Prob. 11PECh. 13 - Prob. 12PECh. 13 - Prob. 13PECh. 13 - Prob. 14PECh. 13 - Prob. 15PECh. 13 - Prob. 16PECh. 13 - Prob. 17PECh. 13 - Prob. 18PECh. 13 - Prob. 19PECh. 13 - Prob. 20PECh. 13 - Prob. 21PECh. 13 - Prob. 22PECh. 13 - Prob. 23PECh. 13 - Prob. 24PECh. 13 - Prob. 25PECh. 13 - Prob. 26PECh. 13 - Prob. 27PECh. 13 - Prob. 1PPCh. 13 - Prob. 2PPCh. 13 - Prob. 3PPCh. 13 - Prob. 4PPCh. 13 - Prob. 5PPCh. 13 - Prob. 6PPCh. 13 - Prob. 7PPCh. 13 - Prob. 8PPCh. 13 - Prob. 9PPCh. 13 - Prob. 10PPCh. 13 - Prob. 11PPCh. 13 - Prob. 12PPCh. 13 - Prob. 13PP
Knowledge Booster
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