import java.io.*;
import java.util.Date;

public abstract class Customer {		//super class customer
	String customerName;
	String customerID;
	String customerAdd;
	String customerPhone;
	String dateOfMembership;

	public Customer(String name, String id, String add, String phone, String date) {		//constructor
		this.customerName = name;
		this.customerID = id;
		this.customerAdd = add;
		this.customerPhone = phone;
		this.dateOfMembership = date;
	}
	
	public String getCustomerName() {
		return this.customerName;
	}
	
	public void setCustomerName(String name) {
		this.customerName = name;
	}
	
	public String getCustomerID() {
		return this.customerID;
	}
	
	public void setCustomerID(String id) {
		this.customerID = id;
	}
	
	public String getCustomerAdd() {
		return this.customerAdd;
	}
	
	public void setCustomerAdd(String add) {
		this.customerAdd = add;
	}
	
	public String getCustomerPhone() {
		return this.customerPhone;
	}
	
	public void setCustomerPhone(String phone) {
		this.customerPhone = phone;
	}
	
	public String getDateOfMembership() {
		return this.dateOfMembership;
	}
	
	public void setDateOfMembership(String date) {
		this.dateOfMembership = date;
	}
	
	public abstract int getPointsBalance(); 	//abstract method getPointsBalance() for toString method
	
	public String toString() {			//tString method to display customer name, id, add, phone and dateofmembership
		return("Customer name:" +getCustomerName() + "\n" + "Customer ID:" + getCustomerID() + "\n" + "Customer address:" +getCustomerAdd() + "\n" + "Customer phone:" +getCustomerPhone() + "\n" + "Customer membership date:" +getDateOfMembership() + "Customer points balance:" +getPointsBalance());
	}

}	

class CherasOutletCustomer extends Customer {		//sub class CherasOutletCustomer
	public static final int POINTS = 100;			//declare final POINTS
	private int pointsUsed;									//later use for mutator method
	
	public CherasOutletCustomer(String name, String id, String add, String phone, String date) {	//constructor
		super(name, id, add, phone, date);
	}
	
	public int getPointsUsed() {		//customer points used
		return this.pointsUsed ;
	}
	
	public void setPointsUsed(int pointsUsed) {
		this.pointsUsed = pointsUsed;
	}
	
	public int getPointsBalance(){		//calculate customer points balance
		return POINTS - pointsUsed;
	}
	
	public String toString() {			//toString method to display customer name, id, add, phone and dateofmembership
		return(super.toString() + "\n" + "Branch=Cheras");
	}
}
	
class CustomerLoyaltyRewards extends CherasOutletCustomer {  	//sub class CustomerLoyaltyRewards
	private double customerPurchase;
	double customerVoucher;
	int extraPoints;
	
	public CustomerLoyaltyRewards(String name, String id, String add, String phone, String date, double voucher, int extra) {		//constructor
		super(name, id, add, phone, date);
		this.customerVoucher = voucher;
		this.extraPoints = extra;
	}
	
	public void setCustomerPurchase(double purchase) {		//customer purchase amount
		this.customerPurchase = purchase;
	}
	
	public double getCustomerVoucher() {		//calculate customer voucher amount
		if(customerPurchase > 500)
			customerVoucher += customerVoucher + 10;
		else
			customerVoucher += customerVoucher + 5;
		return this.customerVoucher;
	}
	
	public int getExtraPoints() {			//calculate customer extra points given
		if(customerPurchase > 500)
			extraPoints += extraPoints + 10;
		else
			extraPoints += extraPoints + 5;
		return this.extraPoints;
	}
	
	public int getPointsBalance() {			//calculate final customer points balance
		return (getPointsBalance() + getExtraPoints());
	}
	
	public String toString() {		//tString method to display customer name, id, add, phone and dateofmembership
		return(super.toString() + "Customer voucher:" +getCustomerVoucher() + "Customer extra points:" +getExtraPoints());
	}
}

class Test {
	public static void main(String[] args) {
		CustomerLoyaltyRewards cus = new CustomerLoyaltyRewards();
		
		
	}

}

Hello!! i'm new to java.. just beginner and this is for assignment.. I would like to know what should i do for this kind of error..need assistance..

if there are other errors, pls give comments... further thx for all actions...

Recommended Answers

All 3 Replies

the problem is you're calling a default constructor, while you didn't create specify one. you did, however, specify this one:

CustomerLoyaltyRewards(String name, String id, String add, String phone, String date, double voucher, int extra) {... }

your compiler will create a default constructor for you, but only if you did not define one yourself.

so, either you'll have to add a default-constructor to your class, or you have to add some parameters to your constructor call

class Test {
	public static void main(String[] args) {
		CustomerLoyaltyRewards cus = new CustomerLoyaltyRewards(String name, String id, String add, String phone, String date, double voucher, int extra);
	{....}
		
	}

}

stultuske : did u mean like this one?

no ... more like

CustomerLoyaltyRewards cus = new CustomerLoyaltyRewards("Name","id","add","phoneNumber","date",1.0,1);

when calling the constructor, you'll need to pass the correct variables as parameters

commented: Just to get the votes up. +8
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.