Question: Hello. Everything in my code is perfect, except for implementing of subclasses. Can you help me troubleshoot and get this code running. For my Hourly

Hello. Everything in my code is perfect, except for implementing of subclasses. Can you help me troubleshoot and get this code running.

For my Hourly employee, I need the "earnings" value to be returned after the HourlyPay and HourlyPayRate are given. (As shown in my subclass HourlyEmployee, If employee works more than 40 hours, they get 1.5x the HourlyPayRate. So employee 2, works less than 40 hours and employee 3 works more than 40 hours. How can I make it so my test program Employee takes values that I have recorded and correctly outputs them?

class EmployeeClassName {

private String firstName;

private String lastName;

//get and return firstName, lastName, and employeeNumber

public String getFirstName()

{

return firstName;

}

public String getLastName()

{

return lastName;

}

//refer to object EmployeeClassName

public EmployeeClassName (String firstName, String lastName)

{

this.firstName = firstName;

this.lastName = lastName;

}

}

class Address{

private String street;

private String city;

private String state;

private String zipcode;

// get and return street, city, state, zipcode

public String getStreet()

{

return street;

}

public String getCity()

{

return city;

}

public String getState()

{

return state;

}

public String getZipcode()

{

return zipcode;

}

// refer to Address object

public Address(String street, String city, String state, String zipcode)

{

this.street = street;

this.city = city;

this.state = state;

this.zipcode = zipcode;

}

}

class Date{

private int month;

private int day;

private int year;

public Date(int month2, int day2, int year2) {

// TODO Auto-generated constructor stub

}

// get and return month

public int getMonth()

{

return month;

}

public int getDay()

{

return day;

}

public int getYear()

{

return year;

}

}

class EmployeeClass

{

EmployeeClassName employeeClassName;

Address address;

Date date;

int employeeID;

EmployeeClass(String firstName, String lastName, String street, String city, String state, String zipcode, int month, int day, int year, int employeeID) {

this.employeeClassName = new EmployeeClassName( firstName, lastName);

this.address = new Address(street, city, state, zipcode);

this.date = new Date(month, day, year);

this.employeeID = employeeID;

}

public String getFirstName ()

{

return employeeClassName.getFirstName();

}

public String getLastName ()

{

return employeeClassName.getLastName();

}

public String getStreet ()

{

return address.getStreet();

}

public String getCity ()

{

return address.getStreet();

}

public String getState()

{

return address.getState();

}

public String getZipcode()

{

return address.getZipcode();

}

public int getMonth()

{

return date.getMonth();

}

public int getDay()

{

return date.getDay();

}

public int getYear()

{

return date.getYear();

}

public int getEmployeeID()

{

return employeeID;

}

}

//these are okay I think. I am just having trouble connecting all 3 of the classes above.

class SalariedEmployee extends EmployeeClass

{

double annualSalary;

SalariedEmployee(String firstName, String lastName, String street, String city, String state, String zipcode,

int month, int day, int year, int employeeID, double annualSalary)

{

super(firstName, lastName, street, city, state, zipcode, month, day, year, employeeID);

// TODO Auto-generated constructor stub

}

public double getAnnualSalary()

{

return annualSalary;

}

public void main (String args [])

{

//input name, address, date of hire, employeeID, annual salary

SalariedEmployee employee1 = new SalariedEmployee("Suzie", "Palmer","135 Pheasant", "Argyle", "TX", 76226, 01, 17, 2010, 126000.0);

//output name, address, date of hire, employeeID, annual salary

System.out.println(employee1.getFirstName() + "\t" + employee1.getLastName() + "\t" + employee1.getStreet() + " " + employee1.getCity() + " " + employee1.getState() + " " + employee1.getZipcode() + "\t" + employee1.getMonth() + "/" + employee1.getDay() + "/" + employee1.getYear() + employee1.getEmployeeID() + "\t" + employee1.getAnnualSalary());

// input name, address, date of Hire, employeeID, hours worked, hourly pay rate

HourlyEmployee employee2 = new HourlyEmployee("Suzie", "Palmer","135 Pheasant", "Argyle", "TX", 76226, 01, 17, 2010, 41 );

// return name, address, date of hire, employeeID, earnings

System.out.println(employee2.getFirstName() + "\t" + employee2.getLastName() + "\t" + employee2.getStreet() + " " + employee2.getCity() + " " + employee2.getState() + " " + employee2.getZipcode() + "\t" + employee2.getMonth() + "/" + employee2.getDay() + "/" + employee2.getYear() + employee2.getEmployeeID() + "\t" + employee2.getHoursWorked() + "/t" + employee2.getHourlyPayRate() + "\t" + employee2.getEarnings());

// input name, address, date of Hire, employeeID, hours worked, hourly pay rate

HourlyEmployee employee3 = new HourlyEmployee(("Suzie", "Palmer","135 Pheasant", "Argyle", "TX", 76226, 01, 17, 2010, 41,);

// return name, address, date of hire, employeeID, earnings

System.out.println(employee3.getFirstName() + "\t" + employee3.getLastName() + "\t" + employee3.getStreet() + " " + employee3.getCity() + " " + employee3.getState() + " " + employee3.getZipcode() + "\t" + employee3.getMonth() + "/" + employee3.getDay() + "/" + employee3.getYear() + employee3.getEmployeeID() + "\t" + employee3.getHoursWorked() + "/t" + employee3.getHourlyPayRate() + "\t" + employee3.getEarnings());

}

}

//these are my two classes

class HourlyEmployee extends EmployeeClass {

double hourlyPayRate;

double hoursWorked;

double earnings;

HourlyEmployee(String firstName, String lastName, String employeeNumber, String street, String city, String state, String zipcode, int month, int day, int year, int employeeID, double hourlyPayRate, double hoursWorked, double earnings) {

super(firstName, lastName, street, city, state, zipcode, month, day, year, employeeID);

}

public double getHourlyPayRate()

{

return hourlyPayRate;

}

public double getHoursWorked()

{

return hoursWorked;

}

double getEarnings (){

if (hoursWorked >40 ){

earnings = hourlyPayRate * 1.5 * hoursWorked;

}

else{

earnings = hourlyPayRate * hoursWorked;

}

return earnings;

}

}

Hello. Everything in my code is perfect, except for implementing of subclasses.

228 229 public void main (String args [) 230 231 232 233 234 235 SalariedEmployee employee1-new.SalariedEmployeeC".Suzie:...."Palmer.".."135..Pheas System. out.println(employee1.getFirstName "\t" + employee1.getLastNameO+ HourlyEmployee employee2 = new. HourLYEmploveeC"Suzie. "Palmer 25. Pheasant" System.out.println employee2.getFirstName) "\t"employee2.getLastNameO + 236 237 238 3239 HourlyEmployee employee3new HourlyEmployee(CSuzi.., "Palmer","135 Pheasant System.out.println employee3.getFirstNameO "\t"employee3.getLastNameO + 240 241 242 1 243 244 245 246

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!