Project Assignment 3:

Due: Thursday, March 11
Assignment 3 |
Purpose
To gain practice creating an ArrayList of objects. Also, gain additional practice with modularized programming, If-else, switch, various Loops and other techniques.
You will work in groups of no more than 3 to complete this assignment. Designate a project leader. This project leader will coordinate the time schedule, group meetings, individually assigned tasks to complete Assignment 3. This individual will ultimately submit the completed project to me.
Employee Class
Develop an employee class with the following fields
EmployeeLName
EmployeeFName
DeptCode
Wage
Hours
EmployeeLName - holds the Employee's Last Name
EmployeeFName - holds the Employee's First Name
DeptCode - is a 2 letter code representing the departments below:
o MK – Marketing
o IT – Information Technology
o PY – Payroll
Wage - holds the Employee's Hourly Wage
Hours - holds the total hours worked for the week (only hours between 0-60 allowed)
Create accessor and mutator methods for all of your fields. Additionally, create a method called getDeptName that returns the DeptName (shown above) based on the DeptCode passed to it.
Personnel Class
Develop a class that holds an ArrayList of Employees with the following methods on that ArrayList.
Add Employee -
Inserts an Employee Object into the ArrayList. The maximum allowed employees for
this company is 10 Once that limit has been reached, you will print the message
"No longer hiring. Maximum employees reached".
Note: Because you are inserting Employee Objects, you will need to create
instances of the Employee object.
Print All Employee Information - Prints to the terminal window in the following format
**************************************************
Name: {Employee FullName}
Department: {Department Name} NOT Code
Wage: {Wage}
Hours: {Hours}
Overtime Hours: {overtime hours} This is a calculated fields that displays the overtime hours or 0 if none.
Pay: {Pay} many places after the point is ok.
**************************************************
Remove Employee - Removes an employee from the ArrayList
Get Employee - Gets a certain employee from the ArrayList given an index value
Print Company Detail - Displays to the terminal window
Total Employees:
Minimum Wage:
Maximum Wage:
Average Wage:
Total Company Weekly Hours:
Total Company Weekly Overtime:
Total Company Weekly Pay:
Bonus +10 - Display the total information above for each Department using the format below. Create only one method to display the information. (i.e. DO NOT create duplicate code for each department with the same information to be printed out)
Dept - Marketing
Total Employees:
Minimum Wage:
Maximum Wage:
Average Wage:
Total MK Weekly Hours:
Total MK Weekly Overtime:
Total MK Weekly Pay:
**************************************************
Dept - Information Technology
Total Employees:
Average Wage:
Total IT Weekly Hours:
Total IT Weekly Overtime:
Total IT Weekly Pay:
**************************************************
Dept - Payroll
Total Employees:
Average Wage:
Total PY Weekly Hours:
Total PY Weekly Overtime:
Total PY Weekly Pay:
Submit: Arrange all papers in a clear folder as outlined in the syllabus
Cover Page - Your name, date, and Assignment 3.
Purpose Page - The purpose/objectives of the project and how to run the project/methods. This is similar to a mini user's manual.
Source Code - The complete source code printouts for all classes within your project. Remember to document your developer block (i.e. group name, due date, assignment # within each class).
Screen shot printouts - Create screen shots of your picture to demonstrate that it works.
Due: Thursday, March 11
Please send any comments to: cgranda@ius.edu
Copyright © 2001-2004. All rights reserved.