Employee Salary Report :
- Create Employee object and store employees in a collection.
- Find the highest and lowest salary
- Calculate average salary
- Filter employees by department
- Sort by salary.
Code
package scenarios;
public class Employee implements Comparable <Employee> {
private int id;
private String name;
private int salary;
private String dept;
public Employee(int id, String name, int salary, String dept) {
this.id = id;
this.name = name;
this.salary = salary;
this.dept = dept;
}
@Override
public String toString() {
return "Employee [id=" + id + ", name=" + name + ", salary=" + salary + ", dept=" + dept + "]";
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
public String getDept() {
return dept;
}
public void setDept(String dept) {
this.dept = dept;
}
@Override
public int compareTo(Employee o) {
if(this.getSalary() > o.getSalary() ) {
return +24;
}
else if(this.getSalary() < o.getSalary() ) {
return -24;
}
else{
return 0;
}
}
}
package scenarios;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
public class EmployeeSalaryReport {
public static void main(String[] args) {
Employee emp1 = new Employee(01, "vignesh", 20000, "testing");
Employee emp2 = new Employee(02, "subash", 40000, "developer");
Employee emp3 = new Employee(03, "praveen", 30000, "seo");
Employee emp4 = new Employee(01, "Deva", 50000, "HR");
ArrayList<Employee> employees = new ArrayList<>();
employees.add(emp1);
employees.add(emp2);
employees.add(emp3);
employees.add(emp4);
int hs =Integer.MIN_VALUE;
int ls =Integer.MAX_VALUE;
int total = 0;
int avg = 0;
String dept = "HR";
for (Employee employee : employees) {
total += employee.getSalary();
avg = total / employees.size();
if(employee.getDept().equals(dept)) {
System.out.println(employee.getName());
}
if(employee.getSalary() > hs) {
hs = employee.getSalary();
}
if(employee.getSalary() < ls) {
ls = employee.getSalary();
}
}
System.out.println("Highest salary :" + hs);
System.out.println("Lowest salary :" + ls);
System.out.println("Total salary : " + total);
System.out.println("Average salary:" + avg);
Collections.sort(employees);
System.out.println(employees);
}
}
Output

Top comments (0)