View Single Post
Old 11-15-2012, 03:21 PM   PM User | #1
abell12
New Coder

 
Join Date: Mar 2012
Posts: 31
Thanks: 1
Thanked 1 Time in 1 Post
abell12 is an unknown quantity at this point
java.lang.NullPointerException - Help

Having problems with the goToCheckout method at the bottom.
I am getting this error:
Code:
java.lang.NullPointerException
	at Member.goToCheckout(Member.java:86)
I know name has got a value because when i inspect the object the names has my name in there.
The payment must have a value because you have to type an amount in.
Can anyone help me out here.

Code:
public class Member
{
    // instance variables
    private String name;
    private String id;
    private String pinNumber;
    private Store store;
    private Item item;
    private int money;

    /**
     * Constructor for objects of class Member
     */
    public Member(String newName, String newId, String newPinNumber, Store store)
    { 
        if(newId.length() <= 10)
        {
            name = newName;
            id = newId;
            
            if(newPinNumber.length() == 4)
            {
                pinNumber = newPinNumber;
            }
            else
            {
                pinNumber = "0";
                System.out.println("Your pin number must be 4 characters");
            }
        }
        else
        {
            name = newName;
            id = null;
            pinNumber = newPinNumber;
            money = 500;
            System.out.println("Your ID must be less than 10 characters");
        }
    }
    
    /**
     * Get the members name
     */
    public String getName()
    {
        return name;
    }
    
    /**
     * Get the members id
     */
    public String getId()
    {
        return id;
    }
    
    /**
     * Get the members pin number
     */
    public String getPinNumber()
    {
        return pinNumber;
    }
    
     /**
     * Get the item
     */
    public Item selectItem(String itemName, int itemPrice)
    {
        Item item = new Item(itemName, itemPrice);
        
        System.out.println(name + " : I've selected " + itemName + " at " + itemPrice + "p");
        
        return item;
    }
    
    /**
     * Go to checkout
     * Enter money in pounds
     */
    public void goToCheckout(double payment)
    {
        store.checkout(payment, name);
    }
}
abell12 is offline   Reply With Quote