All pastes #785008 Raw Edit

Miscellany

public text v1 · immutable
·published 2007-11-19 23:48 UTC
rendered paste body
import java.text.NumberFormat;
import java.util.Scanner;

public class ShoppingCart
{
    private int itemCount;      // total number of items in the cart
    private double totalPrice;  // total price of items in the cart
    private int capacity;       // current cart capacity
    String end;

    // -----------------------------------------------------------
    //  Creates an empty shopping cart with a capacity of 5 items.
    // -----------------------------------------------------------
    public ShoppingCart()
    {
	capacity = 5;
	itemCount = 0;
	totalPrice = 0.0;
    cart = new Item[capacity];
    }

    // -------------------------------------------------------
    //  Adds an item to the shopping cart.
    // -------------------------------------------------------
    public void addToCart(String itemName, double price, int quantity)
    {
        Item item = new Item(itemName, price, quantity);
        if (itemCount <= capacity) {
            cart[itemCount] = item;
            totalPrice += (price * quantity);
            itemCount++;
        }
    }

    // -------------------------------------------------------
    //  Returns the contents of the cart together with
    //  summary information.
    // -------------------------------------------------------
    public String toString()
    {
	NumberFormat fmt = NumberFormat.getCurrencyInstance();

	String contents = "\nShopping Cart\n";
	contents += "\nItem\t\tUnit Price\tQuantity\tTotal\n";

	for (int i = 0; i < itemCount; i++)
	    contents += cart[i].toString() + "\n";

	contents += "\nTotal Price: " + fmt.format(totalPrice);
	contents += "\n";

	return contents;
    }

    // ---------------------------------------------------------
    //  Increases the capacity of the shopping cart by 3
    // ---------------------------------------------------------
    private void increaseSize()
    {
        capacity = capacity + 3;
    }
    
    
    public static void main(String[] args)
    {
         Scanner scan = new Scanner(System.in);
         String end = "";
         while (!end.equalsIgnoreCase("quit")) {
             ShoppingCart shopCart = new ShoppingCart();
             System.out.print("Enter the name of the item: ");
             String name = scan.next();
             System.out.print("Enter the price of the item: ");
             double price = scan.nextDouble();
             System.out.print("Enter the quantity of the item: ");
             int quantity = scan.nextInt();
             shopCart.addToCart(name, price, quantity);
             for (int i=0;i < shopCart.capacity;i++)
                 System.out.println(shopCart.cart[i].toString());
             System.out.println("The total price is: $" + shopCart.totalPrice);
             System.out.println("Type quit to exit, or type anything else to continue. ");
             end = scan.next();
         }

    } // main

} // class

----------------------------------------------------------

import java.text.NumberFormat;

public class Item
{
    private String name;
    private double price;
    private int quantity;

    // -------------------------------------------------------
    //  Create a new item with the given attributes.
    // -------------------------------------------------------
    public Item (String itemName, double itemPrice, int numPurchased)
    {
	name = itemName;
	price = itemPrice;
	quantity = numPurchased;
    }

    // -------------------------------------------------------
    //   Return a string with the information about the item
    // -------------------------------------------------------
    public String toString ()
    {
	NumberFormat fmt = NumberFormat.getCurrencyInstance();

	return (name + "\t" + fmt.format(price) + "\t" + quantity + "\t"
		+ fmt.format(price*quantity));
    }

    // -------------------------------------------------
    //   Returns the unit price of the item
    // -------------------------------------------------
    public double getPrice()
    {
	return price;
    }

    // -------------------------------------------------
    //   Returns the name of the item
    // -------------------------------------------------
    public String getName()
    {
	return name;
    }

    // -------------------------------------------------
    //   Returns the quantity of the item
    // -------------------------------------------------
    public int getQuantity()
    {
	return quantity;
    }
}  

--------------------------------------------------

C:\$\10>java ShoppingCart
Enter the name of the item: a
Enter the price of the item: 12
Enter the quantity of the item: 1
a       $12.00  1       $12.00
Exception in thread "main" java.lang.NullPointerException
        at ShoppingCart.main(ShoppingCart.java:84)