JAVA PROGRAMING 1. Employee and productionWorker Classes Design a class named Em
ID: 3808953 • Letter: J
Question
JAVA PROGRAMING
1. Employee and productionWorker Classes
Design a class named Employee.The class should keep folloqng
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 accesor and mutator methods for the class.Next,
write a class named productionWorker that extends 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 that employee works. The day shift is shift
i and the night shift is shift2. Write one or more constructor
and the appropriate accessor and mutator methods for
the class.Demonstrate the classes by writing a program
that uses a productionWorker object.
2. In a particular factory,a shift supervisor is a salaried
employee who supervises a shift.In addition to a salary,the
shift supervisor earns a yearl bonus when his or her
shift meets production goals.Design a ShiftSupervisor
class that extends the Employee class you created in programming
challenge 1. TheShiftSupervisor class should have a field that holds
the annual salary and a field that holds the annual production
bonus that a shift supervisor has earned.Write one or more constructor
and the appropriate accessor and mutator methods for the class.Demonstrate
the class by writing a program that uses a ShiftSupervisor object.
3. In a particular factory, a team leader is an hourly paid production
worker that leads a small team. In addition to hourly pay, team leaders
earn a fixed monthly bonus. Team leaders are required to attend a minimum
number of hours of training per year. Design a Teamleader class that extends
the productionWorker.The Team leader should have fields for the monthly bonus
amount, the required numbers of training hours and the number of training hours
the team leader has attended.Write one or more constructor and the appropriate
accessor and mutator methods for the class. Demonstrate the class by writing a
program that uses a TeamLeader Object.
4. Design a class named person with fields for holding
a person's name,address,and telephone number.Write one
or more constrctors and the appropriate mutator and
accessor methods for the class's fields.
Next,design a class named customer,which extends the
person class.The customer class should have a field for
a customer number and a boolean field indicating whether
the customer wishes to be on a mailing list.Write one
or more constructors and the appropriate mutator and
accestor methods for the class's fields.Demonstrate an
object of the customer class in a simple program.
5. A retail store has a preffered customer plan where
customers can earn discounts on all their purchases.
The amount of a customer's discount is determined by
the amount of the customer's cumulative purchases in
the store as follows:
.When a preferred customer spends $500,he or she gets
a 5 percent discount on all future purchases.
.When a preffered customer spends $1,000,he or she gets
a 6 percent discount on all future purchases
.When a preffered customer spends $1,500,he or she gets
a 7 percent discount on all future purchases
.When a preffered customer spends $2,000 or more,he
or she gets a 10 percent discount on all future purchases
Design a class named PreferredCustomer,which extends
the customer class you created in programing 4. The
preferredCustomer class shoud have fields for the amount
of the customer's purchases and the customer's discount level.
Write one or more constructors and the appropriate mutator
and accessor methods for the class's fields.Demonstrate
the class in a simple program.
Explanation / Answer
HI, PLEASE FIND ANSWER FOR QUESTION 1.
I have implemented completely Question 1.
Please repost others questions in separate post.
Please let me know in case of any issue in Q1 implementation.
############### Employee.java #############
public class Employee
{
private String Empname;
private String Empnumber;
private String Hiredate;
public Employee()
{
Empname="";
Empnumber="";
Hiredate="";
}
public Employee (String Empname, String Empnumber,String Hiredate) throws InvalidEmployeeNumber
{
setName(Empname);
setNumber(Empnumber);
setHiredate(Hiredate);
}
public void setName(String n) throws InvalidEmployeeNumber
{
if( n == null || n.trim().equals(""))
throw new InvalidEmployeeNumber("Employee name can not be null or empty");
Empname = n;
}
public void setNumber(String num)
{
Empnumber = num;
}
public void setHireDate(String h)
{
Hiredate = h;
}
public String getName()
{
return Empname;
}
public String getNumber()
{
return Empnumber;
}
public String getHireDate()
{
return Hiredate;
}
private void setHiredate(String Hiredate) {
this.Hiredate = Hiredate;
}
}
########### ProductionWorker.java ##############
public class ProductionWorker extends Employee
{
private int shift; // The employee's shift
private double hourpayrate; // The employee's pay rate
public ProductionWorker(String Empname, String Empnumber, String Hiredate,
int shift, double hourpayrate) throws InvalidEmployeeNumber, InvalidShift, Invalidpayrate
{
super(Empname, Empnumber, Hiredate);
setShift(shift);
setHourlyPayRate(hourpayrate);
}
public int getShift()
{
return shift;
}
public double getHourlyPayRate()
{
return hourpayrate;
}
public void setShift(int s) throws InvalidShift
{
if(s < 0){
throw new InvalidShift("Shift can not negative");
}
shift = s;
}
/**
The setPayRate method sets the employee's pay rate.
@param p The employee's pay rate.
*/
public void setHourlyPayRate(double r) throws Invalidpayrate
{
if(r < 0)
throw new Invalidpayrate("Pay rate can not be negative");
hourpayrate = r;
}
}
############## ProductionWorkerDemo.java ###########
import java.util.*;
public class ProductionWorkerDemo
{
public static void main(String[] args)
{
String name,id,date;
int shift;
double pay;
// Creates Scanner object
Scanner keyboard = new Scanner(System.in);
// Gets the user's name.
System.out.println("Enter employee name: ");
name = keyboard.nextLine();
// Gets the user's employee number.
System.out.println("Enter employee ID: ");
id = keyboard.nextLine();
// Gets the user's hire date.
System.out.println("Enter employee date ");
date = keyboard.nextLine();
System.out.println("1-day Shift/n2-Night shift");
System.out.println("Enter employee shift: ");
shift = keyboard.nextInt();
System.out.println("Enter hourly pay");
pay = keyboard.nextDouble();
try{
// Creates an Production worker object.
ProductionWorker pw = new ProductionWorker(name,id,date,shift,pay);
System.out.println();
System.out.println("Employee Name: " + pw.getName());
System.out.println("Employee ID: " + pw.getNumber());
System.out.println("Hire Date: " + pw.getHireDate());
System.out.println("Shift: " + pw.getShift());
System.out.println("Hourly Rate: " + pw.getHourlyPayRate());
}catch(InvalidEmployeeNumber e){
System.out.println(e.getMessage());
}catch(Invalidpayrate e){
System.out.println(e.getMessage());
}catch(InvalidShift e){
System.out.println(e.getMessage());
}
}
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.