Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

1.Design a JAVA TEXTPAD program with a class named Payroll that contains the fol

ID: 3567018 • Letter: 1

Question

1.Design a JAVA TEXTPAD program with a class named Payroll that contains the following data fields, constructor and methods.

2.The data fields:

   A private String data field named name for the name of the employee.

    A private int data field named ID for the employees ID.

    A private double data field named payRate for the employees hourly pay rate.

    A private double data field named hrWorked for the employees worked hours.

    A private, static int data field named numberOfObjects for tracking the number of employees.

Add one more data field, dateCreated, which is object of java.util.Date, to thePayroll class, and one accessor method for this data field (use toString() method in the Date class).

3.The constructor and other methods:

    A constructor that accepts the employees name, ID, and pay rate as arguments. These values should be assigned to the objects name, ID, and payRate fields. The constructor should also update the numberOfObjects.

    The accessor (getter) and mutator (setter) methods for data field hrWorked (2 methods).

    The accessor (getter) methods for data fields name, ID, payRate, and numberOfObjects (4 methods).

    A method named grossPay that returns employees gross pay (=hrWorked * payRate).

5.Derive a subclasses named PayrollOvertime from the Payroll class with the additional members:

A private double data field named overtimePayRate for the employees overtime hourly pay rate.
A private double data field named overtimeHrWorked for the employees worked overtime hours.
The accessor (getter) method for data field overtimePayRate (only 1 method).
The accessor (getter) methods for data field overtimeHrWorked (2 methods).
Override the grossPay that returns employees gross pay

(=hrWorked * payRate+ overtimePayRate *overtimeHrWorked)

Use super key word to get the result for hrWorked * payRate

The constructor of the PayrollOvertime class accepts the employees name, ID, pay rate and overtime pay rate as arguments. These values should be assigned to the objects name, ID, payRate, and overtimePayRate data fields. The constructor should also update the numberOfObjects. (hint: use super ( ) to invoke the constructor ofPayroll class).

1.Design a JAVA TEXTPAD program with a class named Payroll that contains the following data fields, constructor and methods. 2.The data fields: ½ A private String data field named name for the name of the employee. ½ A private int data field named ID for the employee½s ID. ½ A private double data field named payRate for the employee½s hourly pay rate. ½ A private double data field named hrWorked for the employee½s worked hours. ½ A private, static int data field named numberOfObjects for tracking the number of employees. Add one more data field, dateCreated, which is object of java.util.Date, to thePayroll class, and one accessor method for this data field (use toString() method in the Date class). 3.The constructor and other methods: ½ A constructor that accepts the employee½s name, ID, and pay rate as arguments. These values should be assigned to the object½s name, ID, and payRate fields. The constructor should also update the numberOfObjects. ½ The accessor (getter) and mutator (setter) methods for data field hrWorked (2 methods). ½ The accessor (getter) methods for data fields name, ID, payRate, and numberOfObjects (4 methods). ½ A method named grossPay that returns employee½s gross pay (=hrWorked * payRate). 5.Derive a subclasses named PayrollOvertime from the Payroll class with the additional members: A private double data field named overtimePayRate for the employee½s overtime hourly pay rate. A private double data field named overtimeHrWorked for the employee½s worked overtime hours. The accessor (getter) method for data field overtimePayRate (only 1 method). The accessor (getter) methods for data field overtimeHrWorked (2 methods). Override the grossPay that returns employee½s gross pay (=hrWorked * payRate+ overtimePayRate *overtimeHrWorked) Use super key word to get the result for hrWorked * payRate The constructor of the PayrollOvertime class accepts the employee½s name, ID, pay rate and overtime pay rate as arguments. These values should be assigned to the object½s name, ID, payRate, and overtimePayRate data fields. The constructor should also update the numberOfObjects. (hint: use super ( ) to invoke the constructor ofPayroll class). as so: Enter the name, ID, pay rate, overtime pay rate

Explanation / Answer

import java.util.Date;


public class Payroll {
   String name;
   int id;
   double payRate;
   double hrWorked;
   static int numberOfObjects;  
   Date dateCreated;
  
   public Payroll(int id, double payRate) {
       super();
       this.id = id;
       this.payRate = payRate;
       numberOfObjects++;
   }

   public double getHrWorked() {
       return hrWorked;
   }

   public void setHrWorked(double hrWorked) {
       this.hrWorked = hrWorked;
   }

   public String getName() {
       return name;
   }

   public int getId() {
       return id;
   }

   public double getPayRate() {
       return payRate;
   }

   public static int getNumberOfObjects() {
       return numberOfObjects;
   }

   public Date getDateCreated() {
       return dateCreated;
   }

public double grossPay()
{
   return this.hrWorked*this.payRate;
}
  
}


public class PayrollOvertime extends Payroll{

  
   private double overtimePayRate;
   private double overtimeHrWorked;
  
   public void setOvertimeHrWorked(double overtimeHrWorked) {
       this.overtimeHrWorked = overtimeHrWorked;
   }

   public double getOvertimePayRate() {
       return overtimePayRate;
   }

   public double getOvertimeHrWorked() {
       return overtimeHrWorked;
   }


   public double grossPay()
   {
       System.out.println(getOvertimePayRate()*getOvertimeHrWorked()+" and "+super.getPayRate());
       double d=((super.grossPay())+(getOvertimePayRate()*getOvertimeHrWorked()));
       return d;
   }

  
   public PayrollOvertime(String name,int id, double payRate,double overtimePayRate) {
       super(id, payRate);
       // TODO Auto-generated constructor stub
       super.name=name;
       this.overtimePayRate=overtimePayRate;
   }
  

}

import java.util.Date;
import java.util.Scanner;


public class TestPayroll {

   public static void main(String[] args) {
       Scanner sc=new Scanner(System.in);
       String name;
       int id;
       double payRate;
       double overtimePayRate;
       double regHrWorked;
       double overtimeHrWorked;
       System.out.println("Enter name ,Id,pay rate,over time pay rate");
      
       name=sc.next();
       id=sc.nextInt();
       payRate=sc.nextDouble();
       overtimePayRate=sc.nextDouble();  
       System.out.println("Enter regular hours and over time hours of employee");
       regHrWorked=sc.nextDouble();
       overtimeHrWorked=sc.nextDouble();
      
       System.out.println("record of Employee is created at"+new Date().getTime());
       Payroll p=new Payroll(id, payRate);
       p.setHrWorked(regHrWorked);
       PayrollOvertime po=new PayrollOvertime(name, id, payRate, overtimePayRate);  
      
       po.setOvertimeHrWorked(overtimeHrWorked);
      
       System.out.println("employee Id:"+po.getName());
       System.out.println("regular pay rate:$"+p.getPayRate());
       System.out.println("over time pay rate :$"+po.getOvertimePayRate());
       System.out.println("worked "+p.getHrWorked()+" regular hours");
       System.out.println("worked "+po.getOvertimeHrWorked()+" over time hours");
       System.out.println("gross pay : "+po.grossPay());
   }
  
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Chat Now And Get Quote