用JAVA写一个年度报表的代码
时间: 2024-05-14 13:16:57 浏览: 16
当然!以下是一个简单的JAVA代码示例,用于生成年度报表:
```java
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
public class YearlyReport {
private ArrayList<Employee> employees;
private int year;
public YearlyReport(ArrayList<Employee> employees, int year) {
this.employees = employees;
this.year = year;
}
public void generateReport() throws IOException {
File reportFile = new File("YearlyReport_" + year + ".txt");
FileWriter writer = new FileWriter(reportFile);
writer.write("Yearly Report for " + year);
writer.write("\n-----------------------------\n");
for (Employee employee : employees) {
writer.write(employee.getName() + "\n");
writer.write("ID: " + employee.getId() + "\n");
writer.write("Department: " + employee.getDepartment() + "\n");
writer.write("Salary for " + year + ": $" + employee.getSalary(year) + "\n");
writer.write("-----------------------------\n");
}
writer.close();
}
}
class Employee {
private int id;
private String name;
private String department;
private double[] salaries;
public Employee(int id, String name, String department, double[] salaries) {
this.id = id;
this.name = name;
this.department = department;
this.salaries = salaries;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public String getDepartment() {
return department;
}
public double getSalary(int year) {
return salaries[year - 2021];
}
}
class Main {
public static void main(String[] args) throws IOException {
ArrayList<Employee> employees = new ArrayList<>();
double[] salaries1 = {50000.0, 52000.0, 55000.0, 60000.0};
double[] salaries2 = {60000.0, 64000.0, 68000.0, 72000.0};
employees.add(new Employee(1, "John", "Sales", salaries1));
employees.add(new Employee(2, "Mary", "Operations", salaries2));
YearlyReport yearlyReport = new YearlyReport(employees, 2021);
yearlyReport.generateReport();
}
}
```
在这个示例中,我们定义了一个Employee类表示每个员工,包括id,姓名,部门和他们每年的工资。然后我们定义一个YearlyReport类,接受Employee数组和年份,该类生成一个文本文件,其中包含所有员工的年度报表,包括其姓名,ID,部门和年度薪资。最后,在main函数中,我们创建了一些员工对象,传递给YearlyReport类以生成报告。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.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)