Hướng đối tượng Java - Quản lý thanh toán tiền lương
Quản lý thanh toán tiền lương
Khoa CNTT – DHKHTN cần quản lý việc thanh toán tiền lương cho các cán bộ giá viên trong khoa. Để quản lý được, khoa cần các thông tin sau:
Với mỗi cán bộ giáo viên có các thông tin sau: lương cứng, lương thưởng, tiền phạt, lương thực lĩnh, và các thông tin cá nhân: Họ tên, tuổi, quê quán, mã số giáo viên.
Yêu cầu 1: Xây dựng lớp Nguoi để quản lý các thông tin cá nhân của mỗi giáo viên.
Yêu cầu 2: Xây dựng lớp CBGV để quản lý các thông tin của các cán bộ giáo viên.
Yêu cầu 3: Xây dựng các phương thức thêm, xoá các cán bộ giáo viên theo mã số giáo viên.
Yêu cầu 4: Tính lương thực lĩnh cho giáo viên: Lương thực = Lương cứng + lương thưởng – lương phạt.
1. Xây dựng lớp Teacher.java
package b7;
public class Teacher {
private double salary;
private double bonus;
private double penaty;
private double realSalary;
private String name;
private int age;
private String hometown;
private String id;
public Teacher(double salary, double bonus, double penaty, double realSalary, String name, int age, String hometown, String id) {
this.salary = salary;
this.bonus = bonus;
this.penaty = penaty;
this.realSalary = realSalary;
this.name = name;
this.age = age;
this.hometown = hometown;
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getHometown() {
return hometown;
}
public void setHometown(String hometown) {
this.hometown = hometown;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public double getSalary() {
return salary;
}
public void setSalary(double salary) {
this.salary = salary;
}
public double getBonus() {
return bonus;
}
public void setBonus(double bonus) {
this.bonus = bonus;
}
public double getPenaty() {
return penaty;
}
public void setPenaty(double penaty) {
this.penaty = penaty;
}
public double getRealSalary() {
return realSalary;
}
public void setRealSalary(double realSalary) {
this.realSalary = realSalary;
}
}
2. Xây dựng lớp ManagerTeacher.java
package b7;
import java.util.ArrayList;
import java.util.List;
public class ManagerTeacher {
private List<Teacher> teachers;
public ManagerTeacher() {
this.teachers = new ArrayList<>();
}
public void add(Teacher teacher) {
this.teachers.add(teacher);
}
public boolean deleteById(String id) {
Teacher teacher = this.teachers.stream().filter(t -> t.getId().equals(id)).findFirst().orElse(null);
if (teacher == null) {
return false;
}
this.teachers.remove(teacher);
return true;
}
public double getSalary(String id) {
Teacher teacher = this.teachers.stream().filter(t -> t.getId().equals(id)).findFirst().orElse(null);
if (teacher == null) {
return 0;
}
return teacher.getSalary() + teacher.getBonus() + teacher.getPenaty();
}
}
3. Xây dựng lớp Main.java
package b7;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
ManagerTeacher managerTeacher = new ManagerTeacher();
while (true) {
// show input for user choise
// 1 to insert
// 2 to remove => input id. output boolean
// 4 get salary => input id. output double
// 5 exit => return
}
}
}