Project Assignment 3:

Due: Thursday, March 11


Assignment 3
Grouping Objects using ArrayList

powered by FreeFind

Modified: 

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

  1. Cover Page - Your name, date, and Assignment 3.

  2. Purpose Page - The purpose/objectives of the project and how to run the project/methods. This is similar to a mini user's manual.

  3. 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).

  4. Screen shot printouts - Create screen shots of your picture to demonstrate that it works.


Due: Thursday, March 11


C201 Home Page


Please send any comments to: cgranda@ius.edu
Copyright © 2001-2004. All rights reserved.