Java实现研究生薪资管理
时间: 2023-11-13 21:19:40 浏览: 64
下面是一个简单的 Java 实现研究生薪资管理的示例代码,主要包括研究生类、工资管理类和测试类:
研究生类:
```java
public class Graduate {
private String name; // 姓名
private String gender; // 性别
private int age; // 年龄
private String education; // 学历
private int workYear; // 工作年限
private double salary; // 工资
private double allowance; // 津贴
public Graduate(String name, String gender, int age, String education, int workYear) {
this.name = name;
this.gender = gender;
this.age = age;
this.education = education;
this.workYear = workYear;
this.salary = calculateSalary();
this.allowance = calculateAllowance();
}
// 计算工资
private double calculateSalary() {
double baseSalary = 3000; // 基本工资
double salary = baseSalary;
if (workYear > 0) {
// 每工作一年增加200元工资
salary += workYear * 200;
}
if (education.equals("硕士")) {
// 硕士学历增加1000元工资
salary += 1000;
} else if (education.equals("博士")) {
// 博士学历增加2000元工资
salary += 2000;
}
return salary;
}
// 计算津贴
private double calculateAllowance() {
double allowance = 0;
if (workYear > 0) {
// 每工作一年增加100元交通补贴
allowance += workYear * 100;
}
if (age <= 30) {
// 年龄不超过30岁,享受餐费补贴
allowance += 300;
}
return allowance;
}
// 获取研究生信息
public String getInfo() {
return "姓名:" + name + ",性别:" + gender + ",年龄:" + age + ",学历:" + education + ",工作年限:" + workYear;
}
// 获取工资信息
public String getSalaryInfo() {
return "基本工资:" + salary + "元,津贴:" + allowance + "元,总工资:" + (salary + allowance) + "元。";
}
// 获取工资总额
public double getSalary() {
return salary + allowance;
}
}
```
工资管理类:
```java
import java.util.ArrayList;
public class SalaryManagement {
private ArrayList<Graduate> graduates;
public SalaryManagement() {
graduates = new ArrayList<Graduate>();
}
// 添加研究生信息
public void addGraduate(Graduate graduate) {
graduates.add(graduate);
}
// 根据姓名查找研究生信息
public Graduate findGraduateByName(String name) {
for (Graduate graduate : graduates) {
if (graduate.getName().equals(name)) {
return graduate;
}
}
return null;
}
// 根据工作年限查找研究生信息
public ArrayList<Graduate> findGraduateByWorkYear(int workYear) {
ArrayList<Graduate> result = new ArrayList<Graduate>();
for (Graduate graduate : graduates) {
if (graduate.getWorkYear() == workYear) {
result.add(graduate);
}
}
return result;
}
// 获取总工资
public double getTotalSalary() {
double totalSalary = 0;
for (Graduate graduate : graduates) {
totalSalary += graduate.getSalary();
}
return totalSalary;
}
}
```
测试类:
```java
public class Test {
public static void main(String[] args) {
SalaryManagement salaryManagement = new SalaryManagement();
// 添加研究生信息
salaryManagement.addGraduate(new Graduate("张三", "男", 25, "硕士", 1));
salaryManagement.addGraduate(new Graduate("李四", "女", 28, "博士", 2));
salaryManagement.addGraduate(new Graduate("王五", "男", 30, "硕士", 3));
// 根据姓名查找研究生信息
Graduate graduate1 = salaryManagement.findGraduateByName("张三");
if (graduate1 != null) {
System.out.println(graduate1.getInfo());
System.out.println(graduate1.getSalaryInfo());
}
// 根据工作年限查找研究生信息
ArrayList<Graduate> graduates = salaryManagement.findGraduateByWorkYear(2);
for (Graduate graduate : graduates) {
System.out.println(graduate.getInfo());
System.out.println(graduate.getSalaryInfo());
}
// 获取总工资
double totalSalary = salaryManagement.getTotalSalary();
System.out.println("总工资:" + totalSalary + "元。");
}
}
```
这个示例代码中实现了研究生类、工资管理类和测试类,研究生类中包括计算工资和津贴的方法,工资管理类中包括添加研究生信息、查找研究生信息和获取总工资的方法,测试类中演示了如何使用工资管理类进行研究生薪资管理。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)