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);
}
}