
Big Java Late Objects
2nd Edition
ISBN: 9781119330455
Author: Horstmann
Publisher: WILEY
expand_more
expand_more
format_list_bulleted
Question
Chapter 24, Problem 4PP
Program Plan Intro
Invoice Builder
Program plan:
Filename: “LineItem.java”
This program file is used to define a class “LineItem”. In the code,
- Define a class “LineItem”.
- Declare the class members “quantity” and “theProduct”.
- Define the constructor “LineItem()”.
- Initialize “quantity”.
- Initialize “theProduct”.
- Define a method “getTotalPrice()”,
- Return the price.
- Define a method “format()”,
- Return the value in string format
- Define a method “getQuantity()”,
- Return the value of “quantity”.
- Define a method “getProduct()”,
- Return the value of “theProduct”.
Filename: “Product.java”
This program file is used to define a class “Product”. In the code,
- Define a class “Product”.
- Declare the class members “description” and “price”.
- Define the constructor “Product()”.
- Initialize “description”.
- Initialize “price”.
- Define a method “getDescription()”,
- Return the “description”.
- Define a method “getPrice()”,
- Return the “price”.
Filename: “Address.java”
This program file is used to define a class “Address”. In the code,
- Define a class “Address”.
- Declare the class members “name”, “street”, “city”, “state” and “zip”.
- Define the constructor “Address()”.
- Initialize “name”.
- Initialize “street”.
- Initialize “city”.
- Initialize “state”.
- Initialize “zip”.
- Define a method “format()”,
- Return the value in string format
- Define a method “getName()”,
- Return the value of “name”.
- Define a method “getStreet()”,
- Return the value of “street”.
- Define a method “getCity()”,
- Return the value of “city”.
- Define a method “getState()”,
- Return the value of “state”.
- Define a method “getZip()”,
- Return the value of “zip”.
Filename: “Invoice.java”
This program file is used to define a class “Invoice”. In the code,
- Define a class “Invoice”.
- Declare the class members “billingAddress” and “items”.
- Define the constructor “Invoice()”.
- Initialize “billingAddress”.
- Initialize “items”.
- Define a method “add()”,
- Define the object of “LineItem” called “anItem”.
- Add item using “add()” method.
- Define a method “getBillingAddress()”,
- Return the value of “billingAddress”.
- Define a method “getItems()”,
- Return the value of “items”.
- Define a method “format()”,
- Declare a string variable “r” and set its value.
- Iterate a “for” loop,
- set the value of “r”.
- Set the value of “r” to a string format.
- Return the value of “r”.
- set the value of “r”.
- Define a method “getAmountDue()”,
- Declare a variable “amountDue”.
- Iterate a “for” loop,
- Set the value of “amountDue”.
- Return the value of “amountDue”.
- Set the value of “amountDue”.
Filename: “InvoiceBuilder.java”
This program file is used to define a class “InvoiceBuilder”. In the code,
- Define a class “InvoiceBuilder”.
- Declare the class members “builder” and “doc”.
- Define the constructor “InvoiceBuilder()”.
- Create an object “factory” of class “DocumentBuilderFactory”.
- Set “builder”.
- Initialize “items”.
- Define a method “build()”,
- Set “doc”.
- Create an object “root” of “Element”.
- Add “root” to “doc”.
- Return the “doc”.
- Define a method “createInvoice()”,
- Create an element “invoiceElement” for invoice.
- Create an element “addressElement”.
- Create an element “itemsElement”.
- Append “addressElement” to “invoiceElement”.
- Append “itemsElement” to “invoiceElement”.
- Define a method “createInvoice()”,
- Create an element “addressElement” for address.
- Create a text node “nameText”.
- Create an element “nameElement” for name.
- Append “nameText” to “nameElement”.
- Create a text node “streetText”.
- Create an element “streetElement” for street.
- Append “streetText” to “streetElement”.
- Create a text node “cityText”.
- Create an element “cityElement” for city.
- Append “cityText” to “cityElement”.
- Create a text node “stateText”.
- Create an element “stateElement” for state.
- Append “stateText” to “stateElement”.
- Create a text node “zipText”.
- Create an element “zipElement” for zip.
- Append “zipText” to “zipElement”.
- Append “nameElement” to “addressElement”.
- Append “streetElement” to “addressElement”.
- Append “cityElement” to “addressElement”.
- Append “stateElement” to “addressElement”.
- Append “zipElement” to “addressElement”.
- Return the value of “addressElement”.
- Define a method “createItemList()”,
- Create an element “itemsElement” for items.
- Iterate a “for” loop,
- Create an object “itemElement”.
- Append “itemElement” to “itemsElement”.
- Return the value of “itemsElement”.
- Define a method “createItem()”,
- Create an element “itemElement” for item.
- Create an element “productElement”.
- Create a text node “quantityText”.
- Create an element “quantityElement”.
- Append “quantityElement” to “quantityText”.
- Append “itemElement” to “productElement”.
- Append “itemElement” to “quantityElement”.
- Define a method “createProduct()”,
- Create a text node “descriptionText”.
- Create a text node “priceText”.
- Create an element “descriptionElement” for description.
- Create an element “priceElement” for price.
- Append “descriptionText” to “descriptionElement”.
- Append “priceText” to “priceElement”.
- Create an element “productElement” for product.
- Append “descriptionElement” to “productElement”.
- Append “priceElement” to “productElement”.
- Return “productElement”.
Filename: “InvoiceBuilderDemo.java”
This program file is used to define a class “InvoiceBuilderDemo”. In the code,
- Import the required packages.
- Define a class “InvoiceBuilderDemo”.
- Define the method “main()”.
- Define the object “samsAddress” of class “Address”.
- Define the object “samsInvoice” of class “Invoice”.
- Add the products using “add()” method.
- Define the object “builder” of class “InvoiceBuilder”.
- Define the DOM elements.
- Define a variable “out”.
- Print the variable “out”.
- Define the method “main()”.
Expert Solution & Answer

Want to see the full answer?
Check out a sample textbook solution
Students have asked these similar questions
What IETF protocol is NetFlow associated with?
Group of answer choices
IPX/SPX
IPIX
HTTPS
SSH
How can I perform Laplace Transformation when using integration based on this?
Write an example of a personal reflection of your course.
- What you liked about the course.
- What you didn’t like about the course.
- Suggestions for improvement.
Course: Information and Decision Sciences (IDS)
The Reflection Paper should be 1 or 2 pages in length.
Chapter 24 Solutions
Big Java Late Objects
Ch. 24.1 - Prob. 1SCCh. 24.1 - Prob. 2SCCh. 24.1 - Prob. 3SCCh. 24.2 - Prob. 4SCCh. 24.2 - Prob. 5SCCh. 24.3 - Prob. 6SCCh. 24.3 - Prob. 7SCCh. 24.4 - Prob. 8SCCh. 24.4 - Prob. 9SCCh. 24.4 - Prob. 10SC
Ch. 24 - Prob. 1RECh. 24 - Prob. 2RECh. 24 - Prob. 3RECh. 24 - Prob. 4RECh. 24 - Prob. 5RECh. 24 - Prob. 6RECh. 24 - Prob. 7RECh. 24 - Prob. 8RECh. 24 - Prob. 9RECh. 24 - Prob. 10RECh. 24 - Prob. 11RECh. 24 - Prob. 12RECh. 24 - Prob. 13RECh. 24 - Prob. 14RECh. 24 - Prob. 15RECh. 24 - Prob. 16RECh. 24 - Prob. 17RECh. 24 - Prob. 18RECh. 24 - Prob. 1PECh. 24 - Prob. 2PECh. 24 - Prob. 3PECh. 24 - Prob. 4PECh. 24 - Prob. 5PECh. 24 - Prob. 6PECh. 24 - Prob. 1PPCh. 24 - Prob. 2PPCh. 24 - Prob. 3PPCh. 24 - Prob. 4PPCh. 24 - Prob. 5PPCh. 24 - Prob. 6PPCh. 24 - Prob. 7PPCh. 24 - Prob. 8PPCh. 24 - Prob. 9PPCh. 24 - Prob. 10PPCh. 24 - Prob. 11PPCh. 24 - Prob. 12PP
Knowledge Booster
Similar questions
- using r languagearrow_forwardI need help in explaining how I can demonstrate how the Laplace & Inverse transformations behaves in MATLAB transformation (ex: LIke in graph or something else)arrow_forwardYou have made the Web solution with Node.js. please let me know what problems and benefits I would experience while making the Web solution here, as compared to any other Web solution you have developed in the past. what problems and benefits/things to keep in mind as someone just learningarrow_forward
- PHP is the server-side scripting language. MySQL is used with PHP to store all the data. EXPLAIN in details how to install and run the PHP/MySQL on your computer. List the issues and challenges I may encounter while making this set-up? why I asked: I currently have issues logging into http://localhost/phpmyadmin/ and I tried using the command prompt in administrator to reset the password but I got the error LOCALHOST PORT not found.arrow_forwardHTML defines content, CSS defines layout, and JavaScript adds logic to the website on the client side. EXPLAIN IN DETAIL USING an example.arrow_forwardusing r languangearrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
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