Big Java Late Objects
Big Java Late Objects
2nd Edition
ISBN: 9781119330455
Author: Horstmann
Publisher: WILEY
Question
Book Icon
Chapter 12, Problem 3PE
Program Plan Intro

Invoice

Program plan:

Filename: “Address.java”

This program file is used to define a class “Address”. In the code,

  • Define a class “Address”.
    • Define the class members.
    • Define a constructor “Address()”.
      • Set the values for class members.
    • Define a method “getName()”.
      • Return the “name”.
    • Define a method “getStreet()”.
      • Return the “street”.
    • Define a method “getCity()”.
      • Return the “city”.
    • Define a method “getState()”.
      • Return the “state”.
    • Define a method “getZip()”.
      • Return the “zip”.

Filename: “Invoice.java”

This program file is used to define a class “Invoice”. In the code,

  • Import the required packages.
  • Define a class “Invoice”.
    • Define the class members.
    • Define a constructor “Invoice()”.
      • Set the class elements.
    • Define the method “add()”.
      • Create an object “anItem” of class “LineItem”.
      • Call the method “add()” recursively.
    • Define a method “getAmountDue()”.
      • Define the variable “amountDue”.
      • Iterate a “for” loop,
        • Calculate the value of “amountDue”.
          • Return the value of “amountDue”.
    • Define a method “getLineItem()”.
      • Return the item.
    • Define a method “getLineItemCount()”.
      • Return the size of the item.
    • Define a method “getAddress()”.
      • Return the “billingAddress”.

Filename: “InvoiceFormatter.java”

This program file is used to define a class “InvoiceFormatter”. In the code,

  • Import the required packages.
  • Define a class “InvoiceFormatter”.
    • Define the class members.
    • Define a constructor “InvoiceFormatter ()”.
      • Set the class elements.
    • Define a class “format()”.
      • Define the constants “DESCRIPTION_WIDTH”, “PRICE_WIDTH”, “QTY_WIDTH”, “TOTAL_WIDTH”.
      • Define a string variable “r” and get the invoice to it.
      • Iterate a “for” loop,
        • Get the items to “item”.
        • Format the invoice and assign it to “r”.
          • Call the method “format” to format the amount due and add the result to “r”.
          • Return “r”.

Filename: “LineItem.java”

This program file is used to define a class “LineItem”. In the code,

  • Import the required packages.
  • Define a class “LineItem”.
    • Define the class members.
    • Define a constructor “LineItem()”.
      • Set the class elements.
    • Define a method “getTotalPrice()”.
      • Multiply the price and quantity and return the result.
    • Define a method “getDescription()”.
      • Return the description.
    • Define a method “getPrice()”.
      • Return the price.
    • Define a method “getQuantity()”.
      • Return the quantity.

Filename: “Product.java”

This program file is used to define a class “Product”. In the code,

  • Import the required packages.
  • Define a class “Product”.
    • Define the class members.
    • Define a constructor “Product()”.
      • Set the class elements.
    • Define a method “getDescription()”.
      • Return the “description”.
    • Define a method “getPrice()”.
      • Return the “price”.

Filename: “InvoicePrinter.java”

This program file is used to define a class “InvoicePrinter”. In the code,

  • Define a class “InvoicePrinter”.
    • Define a method “main()”.
      • Define the object “samsAddress” of class “Address”.
      • Define the object “samsInvoice” of class “Invoice”.
      • Call the method “add()” using “samsInvoice” to add the products.
      • Define the object of “InvoiceFormatter”.
      • Print the formatted invoice.

Blurred answer
Knowledge Booster
Background pattern image
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education