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

Using the following UML outline, create a JAVA program. Department - name: Strin

ID: 3910879 • Letter: U

Question

Using the following UML outline, create a JAVA program.

Department
- name: String
- buildingNumber: int
+ Department(String, int)
+ {all getters/setters}
+ toString(): String
+ equals(Object): boolean


Employee
- badgeNumber: int
- firstName: String
- lastName: String
- department: Department
+ Employee(int, String, String, Department)
+ {all getters/setters}
+ toString(): String
+ equals(Object): boolean


Consultant
- hourlyRate: double
+ Consultant(int, String, String, Department)
+ Consultant(int, String, String, Department,
double)
+ g/sHourlyRate
+ toString(): String
+ equals(Object): boolean


SalariedEmployee
- annualSalary: double
+ SalariedEmployee(int, String, String,
Department)
+ SalariedEmployee(int, String, String,
Department, double)
+ g/sAnnualSalary
+ toString(): String
+ equals(Object): boolean


EmployeeTest
+ main(String[]): void
- displayDepartments(ArrayList<Department>): void
- readDepartmentFromFile(String): ArrayList<Department>
- populateEmployeeArray(ArrayList<Employee>, ArrayList<Department>): void

Explanation / Answer

===========================

Department.java

public class Department {
String name;
int buildingNumber;

public Department(String name, int buildingNumber) {
this.name = name;
this.buildingNumber = buildingNumber;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getBuildingNumber() {
return buildingNumber;
}

public void setBuildingNumber(int buildingNumber) {
this.buildingNumber = buildingNumber;
}

@Override
public String toString() {
return "Department{" +
"name='" + name + ''' +
", buildingNumber=" + buildingNumber +
'}';
}

@Override
public boolean equals(Object obj) {
return buildingNumber == ((Department)obj).buildingNumber ;
}
}

===========================

Employee.java

public class Employee {
int badgeNumber;
String firstName;
String lastName;
Department department;

public Employee(int badgeNumber, String firstName, String lastName, Department department) {
this.badgeNumber = badgeNumber;
this.firstName = firstName;
this.lastName = lastName;
this.department = department;
}

public int getBadgeNumber() {
return badgeNumber;
}

public void setBadgeNumber(int badgeNumber) {
this.badgeNumber = badgeNumber;
}

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 Department getDepartment() {
return department;
}

public void setDepartment(Department department) {
this.department = department;
}

@Override
public String toString() {
return "Employee{" +
"badgeNumber=" + badgeNumber +
", firstName='" + firstName + ''' +
", lastName='" + lastName + ''' +
", department=" + department +
'}';
}

@Override
public boolean equals(Object obj) {
return badgeNumber == ((Employee)obj).badgeNumber ;
}
}

===========================

Consultant.java

public class Consultant {
double hourlyRate;

public Consultant(int badgeNumber, String firstName, String lastName, Department department) {

}

public Consultant(int badgeNumber, String firstName, String lastName, Department department, double hourlyRate) {
this.hourlyRate = hourlyRate;
}

public double getHourlyRate() {
return hourlyRate;
}

public void setHourlyRate(double hourlyRate) {
this.hourlyRate = hourlyRate;
}

@Override
public String toString() {
return "Consultant{" +
"hourlyRate=" + hourlyRate +
'}';
}

@Override
public boolean equals(Object obj) {
return super.equals(obj);
}
}

===========================

SalariedEmployee.java

public class SalariedEmployee {
double annualSalary;

public SalariedEmployee(int badgeNumber, String firstName, String lastName, Department department) {

}

public SalariedEmployee(int badgeNumber, String firstName, String lastName, Department department, double annualSalary) {
this.annualSalary = annualSalary;
}

public double getHourlyRate() {
return annualSalary;
}

public void setHourlyRate(double annualSalary) {
this.annualSalary = annualSalary;
}

@Override
public String toString() {
return "SalariedEmployee{" +
"annualSalary=" + annualSalary +
'}';
}

@Override
public boolean equals(Object obj) {
return super.equals(obj);
}
}

===========================

EmployeeTest.java

import java.util.*;

import java.io.*;

public class EmployeeTest {

               

                public static void main(String[] args) throws FileNotFoundException {

                                EmployeeTest test = new EmployeeTest();

                                ArrayList<Department> arr_depts = test.readDepartmentFromFile("test.txt");

                                test.displayDepartments(arr_depts);    

                }

               

                private ArrayList<Department> readDepartmentFromFile(String file_name) throws FileNotFoundException {

                                File file_o = new File(file_name);

                                Scanner sc = new Scanner(file_o);

                                ArrayList<Department> arr = new ArrayList<>();

                               

                                while (sc.hasNextLine()) {

                                                String str = sc.nextLine();

                                                String s[] = str.split(" ");

                                                arr.add(new Department(s[0], Integer.parseInt(s[1])));

                                }

               

                                return arr;

                }

               

                private void displayDepartments(ArrayList<Department> arr_depts) {

                                System.out.println("Departments :: ");

                                for(Department dept : arr_depts) {

                                                System.out.println(dept.toString());

                                }

                }

               

                private void populateEmployeeArray(ArrayList<Employee> arr_emps, ArrayList<Department> arr_depts) {

                                System.out.println("Employees :: ");

                                for(Employee emp : arr_emps) {

                                                System.out.println(emp.toString());

                                }

                               

                                System.out.println("Departments :: ");

                                for(Department dept : arr_depts) {

                                                System.out.println(dept.toString());

                                }

                }

}

===========================

test.txt

IT 1
Bank 2
HR 3