Java简单项目:公司人员管理系统
简单开个坑
初步完成Model设计和部分Controller设计,手有点冷,脑子有点蒙,明天再补剩下的
1.1.父类Employee
package project3.domain;public class Employee {private int id;private String name;private int age;private double salary;public Employee(int id, String name, int age, double salary) {super();this.id = id;this.name = name;this.age = age;this.salary = salary;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public double getSalary() {return salary;}public void setSalary(double salary) {this.salary = salary;}}
1.2.子类Programer
package project3.domain;import project3.service.Status;public class Programmer extends Employee{private int memberId;private Status status;// = FREEprivate Equipment equipment;public Programmer(int id, String name, int age, double salary,int memberId, Status status, Equipment equipment) {super(id,name,age,salary);this.memberId = memberId;this.status = status;this.equipment = equipment;}public int getMemberId() {return memberId;}public void setMemberId(int memberId) {this.memberId = memberId;}public Status getStatus() {return status;}public void setStatus(Status status) {this.status = status;}public Equipment getEquipment() {return equipment;}public void setEquipment(Equipment equipment) {this.equipment = equipment;}}
1.3.子类Designer
package project3.domain;import project3.service.Status;public class Designer extends Programmer{public Designer(int id, String name, int age, double salary, int memberId, Status status, Equipment equipment,double bonus) {super(id, name, age, salary, memberId, status, equipment);// TODO Auto-generated constructor stubthis.bonus = bonus;}private double bonus;//奖金public double getBonus() {return bonus;}public void setBonus(double bonus) {this.bonus = bonus;}}
1.4.子类Architect
package project3.domain;import project3.service.Status;public class Architect extends Designer{private int stock;//干股分红public Architect(int id, String name, int age, double salary, int memberId, Status status, Equipment equipment,double bonus,int stock) {super(id, name, age, salary, memberId, status, equipment, bonus);// TODO Auto-generated constructor stubthis.stock = stock;}public int getStock() {return stock;}public void setStock(int stock) {this.stock = stock;}}
1.5. 接口Equipment
package project3.domain;public interface Equipment {public abstract String getDescription(Equipment e);}
1.6.Equipment实现类1:PC
package project3.domain;public class PC implements Equipment {private String model;private String display;@Overridepublic String getDescription(Equipment e) {if(e instanceof PC) {PC p =(PC) e;return "PC [model=" + p.model + ", display=" + p.display + "]";}else {return "类型错误";}}public String getModel() {return model;}public void setModel(String model) {this.model = model;}public String getDisplay() {return display;}public void setDisplay(String display) {this.display = display;}public PC() {}
}
1.7.Equipment实现类2:NoteBook
package project3.domain;public class NoteBook implements Equipment {private String model;private double price;@Overridepublic String getDescription(Equipment e) {if(e instanceof NoteBook) {NoteBook n = (NoteBook) e;return "NoteBook [model=" + n.model + ", price=" + n.price + "]";}else {return "类型错误";}}public String getModel() {return model;}public void setModel(String model) {this.model = model;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}public NoteBook() {}
}
1.8.Equipment实现类3:Printer
package project3.domain;public class Printer implements Equipment {private String name;private String type;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getType() {return type;}public void setType(String type) {this.type = type;}public Printer() {}@Overridepublic String getDescription(Equipment e) {if(e instanceof Printer) {Printer p = (Printer) e;return "Printer [name=" + p.name + ", type=" + p.type + "]";}else {return "类型错误!";}}}
2.1.TeamException
package project3.service;public class TeamException extends RuntimeException{static final long serialVersionUID = -7034897190745766939L;public TeamException() {}public TeamException(String msg) {super(msg);}}
2.2.Data初始文件
package project3.service;public class Data {public static final int EMPLOYEE = 10;public static final int PROGRAMMER = 11;public static final int DESIGNER = 12;public static final int ARCHITECT = 13;public static final int PC = 21;public static final int NOTEBOOK = 22;public static final int PRINTER = 23;//Employee : 10, id, name, age, salary//Programmer: 11, id, name, age, salary//Designer : 12, id, name, age, salary, bonus//Architect : 13, id, name, age, salary, bonus, stockpublic static final String[][] EMPLOYEES = {{"10", "1", "马云", "22", "3000"},{"13", "2", "马化腾", "32", "18000", "15000", "2000"},{"11", "3", "李彦宏", "23", "7000"},{"11", "4", "刘强东", "24", "7300"},{"12", "5", "雷军", "28", "10000", "5000"},{"11", "6", "任志强", "22", "6800"},{"12", "7", "柳传志", "29", "10800","5200"},{"13", "8", "杨元庆", "30", "19800", "15000", "2500"},{"12", "9", "史玉柱", "26", "9800", "5500"},{"11", "10", "丁磊", "21", "6600"},{"11", "11", "张朝阳", "25", "7100"},{"12", "12", "杨致远", "27", "9600", "4800"}};//如下的EQIPMENTS数组与上面的EMPLOYEES数组元素一一对应//PC :21, model, display//NoteBook:22, model, price//Printer :23, type, namepublic static final String[][] EQIPMENTS = {{},{"22", "联想T4", "6000"},{"21", "戴尔", "NEC17寸"},{"21", "戴尔", "三星 17寸"},{"23", "激光", "佳能 2900"},{"21", "华硕", "三星 17寸"},{"21", "华硕", "三星 17寸"},{"23", "针式", "爱普生20K"},{"22", "惠普m6", "5800"},{"21", "戴尔", "NEC 17寸"},{"21", "华硕","三星 17寸"},{"22", "惠普m6", "5800"}};
}
2.3.Status
package project3.service;public class Status {private final String NAME;private Status(String name) {this.NAME = name;}public static final Status FREE = new Status("FREE");public static final Status VOCATION = new Status("VOCATION");public static final Status BUSY = new Status("BUSY");public String getNAME() {return NAME;}@Overridepublic String toString() {return NAME;}
}
2.4.(部分完成)NameListService
package project3.service;import java.util.jar.Attributes.Name;import project3.domain.Employee;/*** * @Description* 在NameListService类中临时添加一个main方法中,作为单元测试方法。* 在方法中创建NameListService对象,然后分别用模拟数据调用该对象的各个方法,以测试是否正确。* 注:测试应细化到包含了所有非正常的情况,以确保方法完全正确。* @author Dionysus_xu Email:2405483019@qq.com* @version* @Date 2022年2月16日下午1:51:39**/
public class NameListService {private Employee[] employees;public NameListService() {for(int i = 0 ;i <Data.EMPLOYEE;i++) {employees[i].setId(Integer.parseInt(Data.EMPLOYEES[i][1])); employees[i].setName(Data.EMPLOYEES[i][2]); employees[i].setAge(Integer.parseInt(Data.EMPLOYEES[i][3])); employees[i].setSalary(Double.parseDouble(Data.EMPLOYEES[i][4])); employees[i].setId(Integer.parseInt(Data.EMPLOYEES[i][5])); employees[i].setId(Integer.parseInt(Data.EMPLOYEES[i][6])); }}public Employee[] getAllEmployees() {return employees;}public Employee getEmployee(int id) throws TeamException{//version1://一共5员工的话,length = 5,id 也到5,取的就是下标4的if(id>employees.length) {System.out.println("还没有这个员工哦");return null;}else {return employees[id-1];}//version2:
// Employee e = null;
// try {
// e =employees[id-1];
// } catch (Exception ee) {
// ee.printStackTrace();
// }
// return e;}public static void main(String[] args) {NameListService namelists = new NameListService();}
}
Java简单项目:公司人员管理系统相关推荐
- java毕业设计疫情返乡人员管理系统Mybatis+系统+数据库+调试部署
java毕业设计疫情返乡人员管理系统Mybatis+系统+数据库+调试部署 java毕业设计疫情返乡人员管理系统Mybatis+系统+数据库+调试部署 本源码技术栈: 项目架构:B/S架构 开发语言: ...
- java计算机毕业设计社区人员管理系统源码+mysql数据库+系统+lw文档+部署
java计算机毕业设计社区人员管理系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计社区人员管理系统源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目架构:B/S ...
- java毕业设计培训机构人员管理系统录屏演示2021mybatis+源码+调试部署+系统+数据库+lw
java毕业设计培训机构人员管理系统录屏演示2021mybatis+源码+调试部署+系统+数据库+lw java毕业设计培训机构人员管理系统录屏演示2021mybatis+源码+调试部署+系统+数据库 ...
- java电子配件公司仓库管理系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
java电子配件公司仓库管理系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 java电子配件公司仓库管理系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 本源码技术栈 ...
- java计算机毕业设计公司薪酬管理系统(附源码、数据库)
java计算机毕业设计公司薪酬管理系统(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe( ...
- 用Java写一个公司员工管理系统!
用Java写一个公司员工管理系统! 今天看CSDN发现写管理系统的文章不少,我在这里也给大家用java写一篇!(当然这里只是最简单的那种qwq) 核心功能:对员工各项信息的管理 采用属性文件+资源文件 ...
- java计算机毕业设计公司薪酬管理系统源码+mysql数据库+系统+lw文档+部署
java计算机毕业设计公司薪酬管理系统源码+mysql数据库+系统+lw文档+部署 java计算机毕业设计公司薪酬管理系统源码+mysql数据库+系统+lw文档+部署 本源码技术栈: 项目架构:B/S ...
- 基于javaEE的公司人员管理系统
技术:Java.JSP.框架等 摘要: 随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问题.人员信息管理是公司信息管理的重要部分,面对大量的公司人员信息,采用人工处理 ...
- Java毕设项目会议室预约管理系统(java+VUE+Mybatis+Maven+Mysql)
Java毕设项目会议室预约管理系统(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(We ...
- Java实战项目之人力资源管理系统【源码+课后指导】_Java毕业设计/计算机毕业设计
对就业和毕业都有帮助的Java实战项目来咯--人力资源管理系统!Java实战项目之人力资源管理系统[源码+课后指导]_Java毕业设计/计算机毕业设计https://www.bilibili.com/ ...
最新文章
- 八种基本类型的包装类你真的懂了?
- java.io几种读写文件的方式
- 【Centos】修改系统字符集
- 牛客题霸 [连续子数组的最大和] C++题解/答案
- [javaEE] EL表达式调用java方法
- 利用微信公众号实现zabbix告警
- 三层中如何在服务器与客户端之间传输自定义的'Record'类型数据的例子
- 这么多前端优化点你都记得住吗?
- 管理感悟:电费每月几万,主管的责任重于权力
- 算法面试题 java_【面试算法题】Java Stack 类的使用
- Java I/O 全面详解
- linux下geos如何编译,在Linux上用Python模块编译geos3.6.2
- iPhonexr安兔兔html5测试,iPhone XR安兔兔跑分多少 苹果iPhone Xr安兔兔跑分公布
- Linux解决Device eth0 does not seem to be present,delaying initialization问题
- jq小插件tiptip
- 干货知识:高清监控怎么选配交换机
- firefly-rk3288开发板Linux驱动——LED驱动
- Python 语言发展历史
- 【rose】rose框架学习总结
- 进入docker容器的方法