办公信息化管理系统案例

任务描述

一、语言和环境

  • 实现语言
    Java语言
  • 环境要求及开发工具
    JDK、Eclipse

二、程序整体要求

  1. 划分功能模块,根据题目要求设置不同的类,在类中实现相应功能的管理。
  2. 类的标识要清楚易懂,代码结构要层次分明,代码编辑思路要清晰、整洁。
  3. 要求Java代码书写、命名符合规范,属性所属数据类型要准确合理,在代码中添加必要的注释
  4. 程序运行效果与提供的页面效果图、结构保持一致,信息间分隔符“=”号数量不做统一要求,文字大小、颜色也不做统一要求
  5. 作业完成后发表在自己的博客上

三、思路分析:

由场景和运行效果,可以分析出项目中可以抽取如下类(要求编码时注意面向对象思想及封装特性的应用):

  • 部门类:
    类型描述:能够描述部门编号、部门名称、员工数组、统计部门中的员工个数
    要求:设定方法统计该部门员工个数
    提示:部门类的属性有四个,分别是部门编号,部门名称,员工数组 和 统计变量 ,具体是市场部还是人事部,是通过部门类的对象来表示的,如果是市场部的对象,那么添加并统计的就是市场部的人数,同样如果是人事部的对象,添加并统计的就是人事部的人数
  • 职务类:
    类型描述:能够描述职务编号、职务名称
  • 员工类:类型描述:能够描述员工姓名、工号、年龄、性别、所属部门、职务信息要求:
    • 设定方法限定年龄只能是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() + "名员工");
	}
}

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值