I have the following prgoramming challenge to complete.. I am confused with a few things.. I have created the three classes which I have attached. I am struggling with the following if anyone could help i would appreciate it.

- Using and passing the DAY_SHIFT and NIGHT_SHIFT
- How to use the XXX-L format in the program.

Design a class named Employee. The class should keep the following information in fields:
Employee name
Employee number in the format XXX-L, where each X is a digit within the range 0-9 and the L is a letter within the range A-M.
Hire date
Write one or more constructors and the appropriate accessor and mutator methods for the class.
Next, write a class named ProductionWorker that inherits from the Employee class. The ProductionWorker class should have fields to hold the following information:

Shift (an integer)
Hourly pay rate (a double)
The workday is divided into two shifts: day and night. The shift field will be an integer value representing the shift the employee works. The day shift is shift 1 and the night shift is shift 2. Write one or more constructors and the appropriate accessor and mutator methods for the class. Demonstrate the classes by writing a program that uses a ProductionWorker object

The Employee class has these declared private:

private String employeeName;
private String employeeNumber;
private String hireDate;


Since the ProductionWorker extends the Employee you don't need to declare them again in the ProductionWorker class. Declare only these variables:

private int shift;
private double payRate;

Since the first 3 in the Employee class are private use the get, set methods to have access to them. The constructor of ProductionWorker should have 5 arguments.
The first 3: String employeeName, String employeeNumber, String hireDate should be set using the set methods inherited by Employee and the other 2 directly to the shift and payRate.

Also the static variables should also be public and final. Since they will never change value no matter how many instances you create (the Night shift should always be 2 and the Day 1) you were right to have them static. But you need to make them final in order to ensure that nobody can change their values within the program. And of course public so others can use them as constants.


From the above suggestions you should be able to correct the Demo class.
Also the toString method of ProductionWorker should also print the employeeName, employeeNumber, hireDate. Use the get methods.

And you might want to check the argument of setEmployeeNumber(String num) . I think that you need to check if the format of the input is the one specified in the instructions: XXX-L

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.