Java Program Employee Information System For Administrative use Program Descript
ID: 3868200 • Letter: J
Question
Java Program
Employee Information System
For Administrative use
Program Description:
This is an Employee Information system, intended for the use of the manager or other administrative personal to store, edit, and re-access their Employees’ information. Simple budget and salary calculations will also be implemented. The following detailed program description contains the minimum program requirements. Students are encouraged to add more features (classes, Methods, etc...) after creating the initial classes and methods.
Implementation Requirements:
This program will include the fundamentals of object-oriented programing and all of the requirements for the final project, including:
Arrays or ArrayLists of objects
Static variables and methods
Method overriding (of the toString())
Composition
Inheritance
Random number generation
The storing, editing, and deleting of data using objects
String methods
Class Descriptions
Class Name: EmployeeClient
Class Description: Create a client class which displays the capabilities of the program. Creativity is encouraged. However, it MUST include the following:
Main should contain a loop, presenting a list of options at the start of each iteration.
Using an array or ArrayList, allow the user to add and delete Employees from the list.
Allow the user to search through the system for specific Employees. If the Employee is found, print their corresponding information.
GUI or console may be used.
Class Name: BasicInfo
Class Description: This class will have instance variables to store each Employee’s:
first name
last name
ID
the specific department they each work for
phone number
address
email address
position title
Include set and get methods for each variable. Include a toString() method which returns a formatted string of an Employee’s data from this class.
Class Name: GenerateID
Class Description: This class will have instance variables for each Employee’s:
Employee ID
position number
department
Variable department should be of type BasicInfo (Composition). Each Employee ID should be a randomly generated 4 digit number. Each position number should be a randomly generated 4 digit number, concatenated to the back of the abbreviation for the department (for example, if the department is Math, the position number should begin with the prefix MA, if English, then ENG, etc).
Include the appropriate methods for each instance variable. Include a toString() method which returns a formatted string notifying the user that a new Employee’s Employee ID and position number have been generated, and display this data.
Class Name: HoursAndSalary
Class Description: this class will allow the administrator to edit:
The salary for the Employees. Note: all Employees receive the same salary.
The budget
The sum of the hours worked each week.
Include code to verify that the salary is above minimum wage, and that the budget and sum of hours are positive number.
Class Name: SalaryCalc
Class Description: this class is a subclass of HoursAndSalary (Inheritance). The variables and methods of this class are largely up to the programmer. However, it is strongly suggested that they be in some way pertaining to salary or budget. This class will:
Calculate the budget deficit or surplus.
Contain at least three instance variables and their corresponding methods.
Explanation / Answer
Since the question has more than 4 classes am suppose to provide you with 4 solution/classes acording to chegg protocol
CODE:
import java.util.Random;
/**
*
* @author Sam
*/
class BasicInfo {
String firstName;
String lastName;
int id;
String department;
String phoneNumber;
String address;
String email;
String positionTitle;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
public String getPhoneNumber() {
return phoneNumber;
}
public void setPhoneNumber(String phoneNumber) {
this.phoneNumber = phoneNumber;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPositionTitle() {
return positionTitle;
}
public void setPositionTitle(String positionTitle) {
this.positionTitle = positionTitle;
}
@Override
public String toString() {
return "BasicInfo{" + "firstName=" + firstName + " lastName=" + lastName + " id=" + id + " department=" + department + " phoneNumber=" + phoneNumber + " address=" + address + " email=" + email + " positionTitle=" + positionTitle + '}';
}
}
class GenerateID {
int employeeID;
String positionNumber;
BasicInfo department;
public GenerateID(BasicInfo newEmployee) {
this.department = department;
}
public void generate() {
Random random = new Random(System.currentTimeMillis());
employeeID = random.nextInt(8999) + 1000;
positionNumber = department.getDepartment().substring(0,3).toUpperCase() + (random.nextInt(8999) + 1000);
}
public int getEmployeeID() {
return employeeID;
}
public String getPositionNumber() {
return positionNumber;
}
@Override
public String toString() {
return "GenerateID{" + "employeeID=" + employeeID + ", positionNumber=" + positionNumber + ", department=" + department + '}';
}
}
class HoursAndSalary {
double salary;
double budget;
int sumOfHours;
final double minSalary = 50;
boolean verify() {
if (salary < minSalary)
return false;
return budget >= 0;
}
}
class SalaryCalc extends HoursAndSalary {
double surplus;
void calc() {
surplus = budget - salary;
}
public double getSurplus() {
return surplus;
}
}
public class EmployeeClient {
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.