Java Program for Payroll of hourly, salaried and salary with commission employees
Write an employee payroll program that uses polymorphism to calculate and print the weekly payroll for your company. There are three types of employees ─ hourly, salaried, and salaried plus commission. Each type of employee gets paid using a different formula. But for all employee types, if the calculated paycheck exceeds $1000, the actual paycheck must be decreased to $1000.
This question has the following supporting file(s):
- Directions.doc
This answer includes:
- Plain text
- Cited sources when necessary
- Attached file(s)
- Employee.java
- Hourly.java
- Salaried.java
- SalariedPlusCommission.java
- Payroll.java
Active since 1969
Responses 4195
Extracted Content from Question Files:
- Directions.doc
Directions Points
The file must be called
Employee.java
Hourly.java (which extends employee)
Salaried.java (which extends employee)
SalariedPlusCommission.java (which extends Salaried)
4
Ensure you include ALL files required to make your program compile and run.
I would like to see your .java files only.
Proper coding conventions required the first letter of the class start with a capital
letter and the first letter of each additional word start with a capital letter.
Overall Requirements
Write an employee payroll program that uses polymorphism to calculate and print the
weekly payroll for your company. There are three types of employees ─ hourly,
salaried, and salaried plus commission. Each type of employee gets paid using a
different formula. But for all employee types, if the calculated paycheck exceeds
$1000, the actual paycheck must be decreased to $1000.
Use this class hierarchy:
Employee
Hourly Salaried
SalariedPlusCommissioned
Use the public access modifier for the toString method in the Employee class and
the load method in the Employee, Hourly, Salaried, and SalariedPlusCommission
classes.
Employee.java class
Instance variables:
name
social security number
birthday month
birthday week
16
load method :
Prompts the user for instance-variable values and loads the entries.
toString method:
Returns a string that shows the employee’s name, social security number, and
paycheck.. Use the String.format method (See Java API documentation to help
you format the string as shown in the sample session’s paycheck report.) Here’s
an example from the sample session:
employee: Biff Sanchez
social security number: 111-11-1111
paycheck: $800.00
getBonus method:
Generates a $100 employee birthday bonus. Compare the employee’s birthday
with the current date found on your computer system. Use the Calendar class to
generate the current date. (See Sun’s Java API documentation.) If the employee’s
birthday month and birthday week match your computer system’s current month
and current week, then increment the employee’s paycheck by $100. The
birthdayMonth holds the month (1─12) in which the employee was born. The
birthdayWeek holds the week (1─4) that the employee chooses to get paid his/her
bonus.
Include a getEarnings method that is abstract.
Use the public access modifier for the toString method to return a string version of
the contents of the employee.
Hourly.java class
Instance variables:
hourly pay
hours worked during the past week
16
load method:
Prompts the user for instance-variable values and loads the entries.
Include a getEarnings method that calculates earnings for an hourly employee.
Hourly employees are paid by the hour. If they work more than 40 hours in a week,
then they receive overtime pay for their overtime work. Overtime pay equals one and
a half times their normal hourly pay.
Salaried.java class
Instance variables:
16
Weekly salary
load method:
Prompts the user for instance-variable values and loads the entries.
Include a getEarnings method that calculates earnings for a salaried employee.
Salaried employees are paid their fixed weekly salary regardless of the number of
hours they work.
SalariedPlusCommission.java class
Instance variables:
Sales during the past week
commission rate
16
load method:
Prompts the user for instance-variable values and loads the entries.
Include a getEarnings method that calculates earnings for a
SalariedPlusCommission employee. SalariedPlusCommission employees are paid a
base salary plus a percentage of their sales. “Percentage of their sales” equates to
the product of their sales times their commission rate.
Use initially declared named constants instead of hardcoded “magic numbers”
embedded in the program.
Provide a driver that generates the following queries and outputs.
Sample session (assuming current month = 10 and current week = 2):
Number of employees: 3
PROFILE FOR EMPLOYEE #1:
type Hourly(1), Salaried(2), Salaried plus Commission(3)
8
Enter 1, 2, or 3 ==> 1
Name ==> Biff Sanchez
Social security number ==> 111-11-1111
Birthday month (1-12) ==> 2
Birthday bonus week (1-4) ==> 3
Hourly pay ==> 20
Hours worked this past week ==> 30
PROFILE FOR EMPLOYEE #2:
type Hourly(1), Salaried(2), Salaried plus Commission(3)
Enter 1, 2, or 3 ==> 2
Name ==> Dirk Jones
Social security number ==> 222-22-2222
Birthday month (1-12) ==> 10
Birthday bonus week (1-4) ==> 2
Salary ==> 700
PROFILE FOR EMPLOYEE #3:
type Hourly(1), Salaried(2), Salaried plus Commission(3)
Enter 1, 2, or 3 ==> 3
Name ==> Suzie Que
Social security number ==> 333-33-3333
Birthday month (1-12) ==> 7
Birthday bonus week (1-4) ==> 3
Salary ==> 400
Sales for this past week ==> 2000
Sales commission rate (fraction paid to employee) ==> .25
PAYCHECK REPORT:
employee: Biff Sanchez
social security number: 111-11-1111
paycheck: $600.00
employee: Dirk Jones
social security number: 222-22-2222
paycheck: $800.00
employee: Suzie Que
social security number: 333-33-3333
paycheck: $900.00
Upload your page to the Dropbox.
4
NOTE: Complete your activity and submit it to the Dropbox in eCollege
80
Total Points

"Thank you! u=sqrt(x) >0 was really a great reasoning. Thanks!"
"Can you check question# 8-13-15-18-19 for me, I just want to make sure... because Im different type of errors Thank you!"
"Did you have these codes before or you just created them this morning?"
"Hi.. thank you for the code. Can you also include this: =>Use HTML5 comments and CSS comments in the respective files to explain the code you have used. Unexplained code will be interpreted as possible evidence of plagiarism."
"Very helpful! and very good explanations which will be helpful in preparation for my exams."