程序运行参考效果图如下:
/**
* 部门类
* @author 萍萍安安
*
*/
public class Department {
private String DeptId;
private String DeptName;
private Staff[] staffs;
private int staffNum;
public String getDeptId() {
return DeptId;
}
public void setDeptId(String deptId) {
DeptId = deptId;
}
public String getDeptName() {
return DeptName;
}
public void setDeptName(String deptName) {
DeptName = deptName;
}
public Staff[] getStaffs() {
if(this.staffs == null){
this.staffs = new Staff[200];
}
return staffs;
}
public void setStaffs(Staff[] staffs) {
this.staffs = staffs;
}
public int getStaffNum() {
return staffNum;
}
public void setStaffNum(int staffNum) {
if (staffNum < 0 ) {
this.staffNum = 0;
return;
}
this.staffNum = staffNum;
}
public Department() {
}
public Department(String deptId, String deptName) {
super();
DeptId = deptId;
DeptName = deptName;
}
public String deptInfo(){
String str = "部门编号:" + this.getDeptId();
str += "\n部门名称:" + this.getDeptName();
return str;
}
public void addStaff (Staff sta,Job jobs){
int i;
for (i=0; i< this.getStaffs().length; i++){
if (this.getStaffs()[i] == null){
this.getStaffs()[i] = sta;
sta.setDept(this);
sta.setJob(jobs);
break;
}
}
this.setStaffNum(i+1);
}
}
/**
* 职务类
* @author 萍萍安安
*
*/
public class Job {
private String jobId;
private String jobName;
private Staff[] staffs;
private int staffNum;
public Staff[] getStaffs() {
if(this.staffs == null){
this.staffs = new Staff[200];
}
return staffs;
}
public void setStaffs(Staff[] staffs) {
this.staffs = staffs;
}
public int getStaffNum() {
return staffNum;
}
public void setStaffNum(int staffNum) {
if (staffNum < 0 ) {
this.staffNum = 0;
return;
}
this.staffNum = staffNum;
}
public String getJobId() {
return jobId;
}
public void setJobId(String jobId) {
this.jobId = jobId;
}
public String getJobName() {
return jobName;
}
public void setJobName(String jobName) {
this.jobName = jobName;
}
public Job(){
}
public Job(String jobId, String jobName) {
super();
this.jobId = jobId;
this.jobName = jobName;
}
public String jobInfo(){
String str = "职务编号:" + this.getJobId();
str += "\n职务名称:" + this.getJobName();
return str;
}
public void addStaff (Staff sta){
int i;
for (i=0; i< this.getStaffs().length; i++){
if (this.getStaffs()[i] == null){
this.getStaffs()[i] = sta;
break;
}
}
this.setStaffNum(i+1);
}
}
/**
* 员工类
* @author 萍萍安安
*
*/
public class Staff {
private String staffName;
private String staffId;
private int staffAge;
private String staffSex;
private String staffDept;
private String staffJob;
private Department dept;
private Job job;
public Job getJob() {
if (this.job == null){
this.job = new Job();
}
return job;
}
public void setJob(Job job) {
this.job = job;
}
public Department getDept() {
if (this.dept == null){
this.dept = new Department();
}
return dept;
}
public void setDept(Department dept) {
this.dept = dept;
}
public String getStaffName() {
return staffName;
}
public void setStaffName(String staffName) {
this.staffName = staffName;
}
public String getStaffId() {
return staffId;
}
public void setStaffId(String staffId) {
this.staffId = staffId;
}
public int getStaffAge() {
return staffAge;
}
public void setStaffAge(int staffAge) {
if(staffAge >= 18 && staffAge <= 65){
this.staffAge = staffAge;
} else {
this.staffAge = 18;
}
}
public String getStaffSex() {
return staffSex;
}
public void setStaffSex(String staffSex) {
if (staffSex.equals("男") || staffSex.equals("女")) {
this.staffSex = staffSex;
} else {
this.staffSex = "男";
}
}
public String getStaffDept() {
return staffDept;
}
public void setStaffDept(String staffDept) {
this.staffDept = staffDept;
}
public String getStaffJob() {
return staffJob;
}
public void setStaffJob(String staffJob) {
this.staffJob = staffJob;
}
public Staff(){
}
public Staff(String staffName, String staffId, String staffSex,int staffAge,String staffDept, String staffJob) {
super();
this.staffName = staffName;
this.staffId = staffId;
this.staffAge = staffAge;
this.staffSex = staffSex;
this.staffDept = staffDept;
this.staffJob = staffJob;
}
public Staff(String staffName, String staffId, String staffSex,int staffAge) {
super();
this.staffName = staffName;
this.staffId = staffId;
this.staffAge = staffAge;
this.staffSex = staffSex;
}
/*public String staffInfo(){
String str = "姓名:" + this.getStaffName();
str += "\n工号:" + this.getStaffId();
str += "\n年龄:" + this.getStaffAge();
str += "\n性别:" + this.getStaffSex();
str += "\n所在部门:" + this.getStaffDept();
str += "\n职务:" + this.getStaffJob();
return str;
}*/
public String staffInfo(){
String str = "姓名:" + this.getStaffName();
str += "\n工号:" + this.getStaffId();
str += "\n性别:" + this.getStaffSex();
str += "\n年龄:" + this.getStaffAge();
str += "\n职务:" + this.dept.getDeptName() + this.job.getJobName();
return str;
}
}
/**
* 测试类
* @author 萍萍安安
*
*/
public class Test {
public static void main(String[] args) {
Department dept1 = new Department("D001","人事部");
Department dept2 = new Department("D002","市场部");
Job job1 = new Job("P001","经理");
Job job2 = new Job("P002","助理");
Job job3 = new Job("P003","职员");
Staff staff1 = new Staff("张铭","S001","男",29);
Staff staff2 = new Staff("李艾爱","S002","女",21);
Staff staff3 = new Staff("孙超","S003","男",29);
Staff staff4 = new Staff("张美美","S004","女",26);
Staff staff5 = new Staff("蓝迪","S005","男",37);
Staff staff6 = new Staff("米莉","S006","女",24);
dept1.addStaff(staff1,job1);//staff1.setDept(dept1);
dept1.addStaff(staff2,job2);
dept1.addStaff(staff3,job3);
dept2.addStaff(staff4,job3);
dept2.addStaff(staff5,job1);
dept2.addStaff(staff6,job3);
job1.addStaff(staff1);
job1.addStaff(staff5);
job2.addStaff(staff2);
job3.addStaff(staff3);
job3.addStaff(staff4);
job3.addStaff(staff6);
System.out.println(staff1.staffInfo());
System.out.println("===============================");
System.out.println(staff2.staffInfo());
System.out.println("===============================");
System.out.println(staff3.staffInfo());
System.out.println("===============================");
System.out.println(staff4.staffInfo());
System.out.println("===============================");
System.out.println(staff5.staffInfo());
System.out.println("===============================");
System.out.println(staff6.staffInfo());
System.out.println("===============================");
System.out.println(dept1.getDeptName() + "总共有" + dept1.getStaffNum() + "名员工");
System.out.println(dept2.getDeptName() + "总共有" + dept2.getStaffNum() + "名员工");
System.out.println("全公司" + job1.getJobName() + "总共有" + job1.getStaffNum() + "名");
System.out.println("全公司" + job2.getJobName() + "总共有" + job2.getStaffNum() + "名");
System.out.println("全公司" + job3.getJobName() + "总共有" + job3.getStaffNum() + "名");
}
}