Big Java Late Objects
Big Java Late Objects
2nd Edition
ISBN: 9781119330455
Author: Horstmann
Publisher: WILEY
Question
Book Icon
Chapter 12, Problem 2PE
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 “format()”.
      • Return the address.

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 class “format()”.
      • Define the constants “DESCRIPTION_WIDTH”, “PRICE_WIDTH”, “QTY_WIDTH”, “TOTAL_WIDTH”.
      • Define a string variable “r”.
      • Define an array “widths[]”.
      • Assign the constants of width to the array “widths[]”.
      • Iterate a “for” loop,
        • Call the method “format(widths)” and add the result to “r”.
          • Call the method “format” and add the result to “r”.
          • Return “r”.
    • Define a method “getAmountDue()”.
      • Define the variable “amountDue”.
      • Iterate a “for” loop,
        • Calculate the value of “amountDue”.
          • Return the value of “amountDue”.

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 the method “format”.
      • Define the variables.
      • Call the method “getDescription()” and assign the value to “description”.
      • Call the method “getCurrencyInstance()”.
      • Define a string “r” to hold the formatted details of a product.
      • Return the value of “r”.

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.
      • Print the invoice using “samsInvoice”.

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