任务描述
一、语言和环境
- 实现语言
Java语言 - 环境要求及开发工具
JDK、Eclipse
二、程序整体要求
- 划分功能模块,根据题目要求设置不同的类,在类中实现相应功能的管理。
- 类的标识要清楚易懂,代码结构要层次分明,代码编辑思路要清晰、整洁。
- 要求Java代码书写、命名符合规范,属性所属数据类型要准确合理,在代码中添加必要的注释
- 程序运行效果与提供的页面效果图、结构保持一致,信息间分隔符“=”号数量不做统一要求,文字大小、颜色也不做统一要求
- 作业完成后发表在自己的博客上
三、思路分析:
由场景和运行效果,可以分析出项目中可以抽取如下类(要求编码时注意面向对象思想及封装特性的应用):
- 部门类:
类型描述:能够描述部门编号、部门名称、员工数组、统计部门中的员工个数
要求:设定方法统计该部门员工个数
提示:部门类的属性有四个,分别是部门编号,部门名称,员工数组 和 统计变量 ,具体是市场部还是人事部,是通过部门类的对象来表示的,如果是市场部的对象,那么添加并统计的就是市场部的人数,同样如果是人事部的对象,添加并统计的就是人事部的人数 - 职务类:
类型描述:能够描述职务编号、职务名称 - 员工类:类型描述:能够描述员工姓名、工号、年龄、性别、所属部门、职务信息要求:
-
- 设定方法限定年龄只能是18--65之间,反之则设置默认为18岁
- 设定方法限定性别只能是“男”或者“女”,反之则设置默认为"男"
- 设定方法,实现员工自我介绍信息,将员工信息作为字符串返回
- 测试类:
类型描述:测试程序,并参照效果图输出结果
package com.staff_information;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){int i;for (i=0; i< this.getStaffs().length; i++){if (this.getStaffs()[i] == null){this.getStaffs()[i] = sta;sta.setDept(this);break;}}this.setStaffNum(i+1);}
}
package com.staff_information;public class Job {private String jobId;private String jobName;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;}
}
package com.staff_information;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(Job job){String str = "姓名:" + this.getStaffName();str += "\n工号:" + this.getStaffId();str += "\n性别:" + this.getStaffSex();str += "\n年龄:" + this.getStaffAge();str += "\n职务:" + this.dept.getDeptName() + job.getJobName();return str;}
}
package com.staff_information;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);dept1.addStaff(staff2);dept1.addStaff(staff3);dept2.addStaff(staff4);dept2.addStaff(staff5);dept2.addStaff(staff6);System.out.println(staff1.staffInfo(job1));System.out.println("===============================");System.out.println(staff2.staffInfo(job2));System.out.println("===============================");System.out.println(staff3.staffInfo(job3));System.out.println("===============================");System.out.println(staff4.staffInfo(job3));System.out.println("===============================");System.out.println(staff5.staffInfo(job1));System.out.println("===============================");System.out.println(staff6.staffInfo(job3));System.out.println("===============================");System.out.println(dept1.getDeptName() + "总共有" + dept1.getStaffNum() + "名员工");System.out.println(dept2.getDeptName() + "总共有" + dept2.getStaffNum() + "名员工");}
}