Tuesday, July 7, 2015


Program To Create Invoice Of Items Sold In A Store

The program below is the answer to Deitel's Java How to Program (9th Edition) Chapter 3 Exercise 3.13.

Question: Create a class called Invoice that a hardware store might use to represent an invoice for an item sold at the store. An Invoice should include four pieces of information as instance variables — a part number (type String), a part description (type String), a quantity of the item being purchased (type int) and a price per item (double). Your class should have a constructor that initializes the four instance variables. Provide a set and a get method for each instance variable. In addition, provide a method named getInvoiceAmount that calculates the invoice amount (i.e., multiplies the quantity by the price per item), then returns the amount as a double value. If the quantity is not positive, it should be set to 0. If the price per item is not positive, it should be set to 0.0. Write a test application named InvoiceTest that demonstrates class Invoice’s capabilities.

To run the application save both files with the same name as the class (because it is a public class) and with the .java file extension (in this case Ex03_13.java and Ex03_13_Test.java). Then compile both classes and run Ex03_13_Test. Ex03_13 will not run because it does not have a main method.

To compile both classes at the same time using the command prompt, use the command
javac Ex03_13.java Ex03_13_Test.java

To run Ex03_13_Test, use the command
java Ex03_13_Test

 * @Author: Aghatise Osazuwa
 * Website: www.cscprogrammingtutorials.com
 * Exercise 3.13 - Invoice Class
 * This Program Creates An Invoice For An Item Sold At The Store

 public class Ex03_13 {
    private String partNumber;
    private String partDescription;
    private int quantityOfItemPurchased;
    private double pricePerItem;
    public Ex03_13 (String number, String description, int quantity, double price) {
        partNumber = number;
        partDescription = description;
        quantityOfItemPurchased = quantity;
        pricePerItem = price;
    public void setPartNumber (String number) {
        partNumber = number;
    public String getPartNumber () {
        return partNumber;
    public void setPartDescription (String description) {
        partDescription = description;
    public String getPartDescription () {
        return partDescription;
    public void setQuantityOfItemPurchased (int quantity) {
        quantityOfItemPurchased = quantity;
    public int getQuantityOfItemPurchased () {
        return quantityOfItemPurchased;
    public void setPricePerItem (double price) {
        pricePerItem = price;
    public double getPricePerItem () {
        return pricePerItem;
    public double getInvoiceAmount () {
        double calculateTotalAmount;
        calculateTotalAmount = quantityOfItemPurchased * pricePerItem;
        return calculateTotalAmount;

Below is Class Ex03_13_Test.java to test Class Ex03_13.java

//Exercise 3.13 - Invoice Class Test
//This Program Demonstrates Class Ex03_13 (Invoice Class) Capabilities

import java.util.Scanner;

public class Ex03_13_Test {
    public static void main (String [] args) {

 Ex03_13 invoice = new Ex03_13 (" ", " ", 0, 0.0);

 Scanner input = new Scanner (System.in);
        String item;
        String description;
        int quantity;
        double price;
        System.out.print ("Enter Number: ");
        item = input.nextLine();
        System.out.print ("Enter Description of Item Purchased: ");
        description = input.nextLine();
        System.out.print ("Enter The Quantity of Item Purchased: ");
        quantity = input.nextInt();
 if (quantity > 0)
        System.out.print ("Enter The Price Per Item: ");
        price = input.nextDouble();
 if (price > 0)
        invoice.setPricePerItem (price);
        System.out.printf ("The Total Amount for all items purchased = $%.2f\n",


Click here to see other answers to Java How to Program.


DISCLAIMER: Opinions expressed in comments are those of the comment writers alone and does not reflect or represent the views of the post author. We reserve the right to delete any post deemed inappropriate or offensive and/or spammy. Please do not use abusive words/hate speech.

I Appreciate your valuable Feedback. So, Please DO NOT SPAM - Spam comments will be deleted immediately.

Don't use brand name in name field and you're not allowed to use links in comments unless it's necessary. Such comments will be removed immediately. To get notified of replies or follow-up comments, click the box next to notify me.