员工属性加上部门id,sql语句左连接查部门id再设置条件,平均年龄等都可以查出来
// Demo6.java
package com.demo6;
import java.util.Date;
public class Demo6 {
public static void main(String[] args) {
Department department = new Department();
department.setName("研发部");
// 添加员工
Employee emp1 = new Employee();
emp1.setName("张三");
emp1.setGender("男");
emp1.setPhone("123456789");
emp1.setBirthday(new Date(1980, 5, 6));
department.addEmployee(emp1);
Employee emp2 = new Employee();
emp2.setName("李四");
emp2.setGender("女");
emp2.setPhone("123856989");
emp2.setBirthday(new Date(1985, 5, 6));
department.addEmployee(emp2);
Employee emp3 = new Employee();
emp3.setName("王五");
emp3.setGender("男");
emp3.setPhone("333456789");
emp3.setBirthday(new Date(1989, 5, 6));
department.addEmployee(emp3);
// 删除名为张三的员工
department.removeEmployee("张三");
System.out.println("员工人数:" + department.getEmployees().size());
// 统计某部门男女性别分别是多少
int male = 0, female = 0;
for(Employee emp : department.getEmployees()) {
if(emp.getGender() == "男") {
male++;
} else if (emp.getGender() == "女") {
female++;
}
}
System.out.println("男:" + male + ",女:" + female);
// 获取员工平均年龄
int average = department.getAverageAge();
System.out.println("平均年龄:" + average);
// 获取年龄最的员工
Employee emp = department.getMaxAgeEmployee();
System.out.println(emp != null ? "年龄最大的员工:" + emp.getName() : "没有员工。");
}
}
// Employee.java
package com.demo6;
import java.util.Calendar;
import java.util.Date;
public class Employee {
private String name;
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
// 性别
private String gender;
public String getGender() {
return this.gender;
}
public void setGender(String gender) {
this.gender = gender;
}
// 电话
private String phone;
public String getPhone() {
return this.phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
// 出生日期
private Date birthday;
public Date getBirthday() {
return this.birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
// 获取年龄
@SuppressWarnings("deprecation")
public int getAge() {
return Calendar.getInstance().get(Calendar.YEAR) - this.birthday.getYear();
}
}
// Department.java
package com.demo6;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/**
* 部门类
*/
public class Department {
private String name;
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
private Listemployees = new ArrayList ();
public ListgetEmployees() {
return this.employees;
}
// 添加员工
public void addEmployee(Employee employee) {
if (employee != null) {
this.employees.add(employee);
}
}
// 删除员工
public void removeEmployee(String name) {
Employee employee = null;
for(Employee emp : employees) {
if(emp.getName() == name) {
employee = emp;
}
}
employees.remove(employee);
}
// 获取工员平均年龄
@SuppressWarnings("deprecation")
public int getAverageAge() {
int total = 0;
for(Employee emp : employees) {
total += emp.getAge();
}
return total / this.employees.size();
}
// 获取年龄最大的员工
public Employee getMaxAgeEmployee() {
Employee employee = null;
for(Employee emp : employees) {
if(employee == null) {
employee = emp;
} else if (employee.getAge() < emp.getAge()) {
employee = emp;
}
}
return employee;
}
}