raph;">int id =sc.nextInt();
xin.setID(id);
} catch (Exception e) {
System.out.println("输入错误");
int id =sc.nextInt();
}
while (true) {
System.out.println("请输入性别");
String sex = sc.next();
xin.setSex(sex);
if (xin.flag==true) {
break;
}
}
System.out.println("=================================================");
return xin;
}
}
3、干部类
package Cadresmanagementsystem;
/*
干部类:
属性:姓名、年龄、工号(ID)、性别
方法:复写toString()、equals()、compareto()、get()set()等
*/
import java.util.Objects;
public class Cadres<e> implements Comparable {
private String name;
private int age;
private int ID;
private String sex;
boolean flag=false;//退出判断年龄的循环标记
public Cadres() {
}
public Cadres(String name, int age, int ID, String sex) {
this.name = name;
this.age = age;
this.ID = ID;
this.sex = sex;
}
@Override
public String toString() {
return "干部"+"姓名:"+name+"\t\t"+"年龄:"+age+"\t\t"+"工号:"+ID+"\t\t"+"性别:"+sex;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int ages) {
if (ages > 0 && ages < 80) {
this.age = ages;
flag=true;
} else {
System.out.println("输入年龄错误");
}
}
public int getID() {
return ID;
}
public void setID(int ID) {
this.ID = ID;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
if (sex.equals("男") || sex .equals("女") ) {
this.sex = sex;
flag=true;
} else {
System.out.println("输入错误");
}
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass())
return false;
Cadres Cadres = (Cadres) o;
return age == Cadres.age &&
ID == Cadres.ID &&
flag == Cadres.flag &&
Objects.equals(name, Cadres.name) &&
Objects.equals(sex, Cadres.sex);
}
@Override
public int hashCode() {
return Objects.hash(ID);
}
@Override
public int compareTo(Object o) {
Cadres st = (Cadres) o;
return this.getID()-((Cadres) o).getID();
}}
,
摘 要
当今,随着网络和信息技术的发展,各行各业都采用高效率的软件生产、办公、交流、管理,二十一世纪以来,随着互联网的快速发展,各种行业软件应运而生,而Web类软件系统以其使用方便,性能优秀以及维护简单等特点,在互联网应用中占比极大。如今,干部档案管理早已进入互联网时代,各个企业,单位都有自己的干部档案管理系统,一个好的干部档案管理系统可以帮助企业和单位便捷的处理人才招聘、人事调动、人员档案管理等等事务。然而,由于软件质量的参差不齐,企业及单位都不一定能找到特别适合自己的一款干部档案管理系统,因此,研发一款适合大众化的干部档案管理系统极为必要。通过使用该系统,使得档案管理工作更加科学、规范,管档人员将从繁重、冗杂的事务性工作中解脱出来,大大减轻了劳动强度,提高了管档人员的工作效率以及档案的利用效率。
通过对企业及单位进行干部档案管理的需求分析,以及对现有档案干部管理类系统的研究,本文设计的这款干部档案管理系统采用main函数 容器类 干部类 复写 toString() equals() compareto() get()set()等方法
关键词:main函数
干部档案管理系统课程设计报告
一、开发背景
当今,实现干部档案自动化管理已然成为一个企业和单位的必经之路,传统的手工管理干部档案已满足不了现今社会下高效、便捷、安全的干部档案管理需求,企业为满足自身实现高效,大数据的干部档案管理,都会采购干部档案管理系统,各种各样的干部档案管理类系统也应运而生。然而,市场上虽然有丰富的干部类管理系统,但是都或多或少存在问题。小型的软件满足不了复杂的功能需求和业务需求,性能不高,安全也不可靠;大型的软件功能复杂,使用学习成本高,价格昂贵,操作复杂等都是现今干部档案管理类软件存在的普遍问题。很多开发公司也都认识到当今干部类软件存在的问题,以及未来可能出现的新需求,都在积极研发新颖,可靠的干部管理软件。研发一款功能强大,安全可靠,操作简单,使用方便的干部档案管理系统成为迫切需要。
二、需求分析
干部档案管理系统对于一家公司来说是不可或缺的一部分,完整的干部档案管理系统可以直接面向管理员查看干部信息。同时也为公司管理者提供一个平台。随着科学技术的不断提高,计算机技术的不断发展,我们利用信息化手段管理信息资源越来越方便。
三、模块说明
1、用户注册模块
功能描述:此模块的主要功能是实现用户注册。系统的用户必须在注册获得合法身份之后才能登录系统进行对应的操作。
输入:用户工号编号、名字、年龄
输出:添加成功
2、用户登录查询
功能描述:此板块的主要功能是实现干部登录。系统的用户必须用注册的工号进去查询
输入:工号、用户名
输出:干部的年龄、性别等
3、修改删除模块
功能描述:此模块的主要功能是方便管理者对干部信息的增添和修改。
四、详细设计
1、干部类
类名:干部类
继承父类:无
实现接口:无
概述:干部类
属性及说明:
private String name;//命名姓名
private int age;//命名年龄
private int ID;//命名账号
private String sex;//命名性别
boolean flag=false;//判断循环终止
方法及说明:
public Cadres()//干部无参构造函数
public Cadres(String name, int age, int ID, String sex)//干部有参构造函数
public String getName() //得到姓名
public void setName(String name)//设置姓名
public int getAge()//得到年纪
public void setAge(int ages) //设置年纪
public int getID() //得到账号
public void setID(int ID) //设置账号
public String getSex()//得到性别
public void setSex(String sex)//设置性别
2、容器类
类名:容器类
继承父类:无
实现接口:无
概述:容量类
属性及说明:
private Scanner sc = new Scanner(System.in);//接受一个容量
ArrayList<Cadres> list = new ArrayList();//对数组容量进行排序
private Cadres st;//干部名
方法及说明:
public void addCadres (Cadres st)//增加容量
public void setInformation(int temp)//设置相关信息
public void referAll()//判断是否满
public void referCadres(int id)//判断ID重复
public void removeInformation(int id)//移动相关信息
public Cadres getConsoleString()//抽取信息台
3、主函数类
类名:主函数类
继承父类:无
实现接口:无
概述:主函数、实现类
属性及说明:
int age/年纪
int ID//账号
String sex//性别
String name//姓名
方法及说明:
do{}while()//循环函数
switch(){}//选择函数
if()else()//判断函数
五、系统实现
1、输入模块
图1-1主界面
说明:这是系统的主界面
2、输出模块
图2-1 添加信息界面
说明:只是从主界面中选择添加功能后添加信息的界面
图2-2查询干部界面
说明:只是继续进行查询功能查询所有输入的干部的信息
图2-3删除功能界面
说明:这是进行删除干部的界面,删除所输入的干部信息
图2-4按工号查询界面
说明:这是进行按工号进行查询干部信息的界面,可查询所有干部信息
图2-5修改界面
说明:这是进行修改干部的界面,可以修改相关信息
3、退出模块
图3-1
说明:这是退出系统的界面,欢迎使用!
总 结
这次课程设计,还有很多知识我们都不懂,有点糊里糊涂的感觉。看来,课本的知识还是不够的,我应该扩展自己的课外知识,多多阅读课外的相关知识,这样才能对Java更加熟悉。 在此我要谢谢帮助我解决难题的同学们,没有他们的解答和热心帮助,我很难完成这个课设。如今科技发展迅速,而Java作为一门计算机语言类的重要课程,要学好Java 是必然的。我坚信,只要有兴趣,就能学好。我会培养好自己对Java的兴趣,而且继续保持下去,为以后的路做好铺垫。
通过此次课程设计,使我更加扎实的掌握了有关Java基础方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。 过而能改,善莫大焉。在课程设计过程中,我们不断发现错误,不断改正,不断领悟,不断获取。最终的检测调试环节,本身就是在践行“过而能改,善莫大焉”的知行观。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的指导下,终于游逆而解。 实验过程中,也对团队精神的进行了考察,让我们在合作起来更加默契,在成功后一起体会喜悦的心情。果然是团结就是力量,只有互相之间默契融洽的配合才能换来最终完美的结果
此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰。课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发技术是十分重要的。 回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!课程设计的心得体会,做了一周的课程设计,有很多的心得体会,有关于Java程序方面的,更多的是关于人与人之间关系方面的。
总之这次社会实践让我们感悟挺多的。
参考文献
[1] 张海藩:软件工程导论(第6版),清华大学出版社,2013-9,P1-P2,P102-P103
[2] 林信良:spring4.0技术手册,电子工业出版社,2012-6,P19-P21
[3] 孙鑫:Java Web开发详解,电子工业出版社, 2009-6,P8-P9
[4] 耿骞:信息系统分析与设计,高等教育出版社,2010-7,P5-P6
[5] 张洪斌:Java高级程序设计,中科多媒体出版社,2012-11,P32-P33
[6] 陈雄华:Spring企业级应用开发详解,电子工业出版社,2009-3,P44-P46
[7] 毕建信:基于MVC设计模式WEB应用研究与实现,武汉理工大学出版社,2006-8,P22-P24
[8] 刘浩:Java从入门到精通,人民邮电出版社,2012-3,P7-P10
[9] 陈刚:Eclipse从入门到精通,清华大学出版社,2015-4,P11-P12
[10]王军:基于Java的设计方式构建[J]. 信息化建设,2015-3,P1-P2.
附录:系统源代码
1、主函数
package Cadresmanagementsystem;
import javax.sound.midi.Soundbank;
import java.util.*;
public class CadresManageCadres {
public static void main(String[] args) {
StuSystem tank = new StuSystem();
Scanner sc = new Scanner(System.in);
title:
while (true) {
System.out.println("请输入要执行的功能");
System.out.println("1.添加 2.修改 3.删除 4.按工号查询 5.查询所有干部 6.退出");
try {
int temp = sc.nextInt();
switch (temp) {
case 1:
if (tank.list.size() == 0) {
tank.list.add(tank.getConsoleString());
System.out.println("注册成功");
break;
} else if (tank.list.size() >= 1) {
tank.addCadres(tank.getConsoleString());
break;
}
break;
case 2:
//修改 :根据工号确定要设置的对象
System.out.println("请输入你的工号");
int setid = sc.nextInt();
tank.setInformation(setid);
break;
case 3:
//删除
System.out.println("请输入您的工号");
int removeid = sc.nextInt();
tank.removeInformation(removeid);
break;
case 4:
//查询
System.out.println("请输入您的工号");
int referid = sc.nextInt();
tank.referCadres(referid);
break;
case 5:
System.out.println("========================");
System.out.println("========================");
//查询所有干部
tank.referAll();
System.out.println("========================");
System.out.println("========================");
break;
case 6:
//退出
System.out.println("欢迎使用,再见");
System.exit(0);
default:
System.out.println("¥¥¥输入有误,请重新输入¥¥¥");
break;
}
} catch (Exception e) {
System.out.println("输入有误");
break title;
}
}
}
}
2、容器类
package Cadresmanagementsystem;
import java.util.*;
public class StuSystem {
//容器类
private Scanner sc = new Scanner(System.in);
ArrayList<Cadres> list = new ArrayList();
//添加干部
private Cadres st;
public void addCadres (Cadres st){
//判断id重复
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getID() == st.getID()) {
System.out.println("已注册过该账号");
}
}
list.add(st);
System.out.println("注册成功+++");
}
//设置
public void setInformation(int temp) {
a:
while (true) {
System.out.println("正在查询");//加入sleep等待
if (list.size()==0) {
System.out.println("没有找到该干部");
break a;
}
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getID()==temp) {
System.out.println(list.get(i).toString());
list.remove(i);
list.add(i,getConsoleString());
//把封装好的对象直接给了
System.out.println("\t\t" + "设置成功");
break a;
}
}
if (true) {
System.out.println("没有该干部,请重新输入");
break;
}
}
}
public void referAll() {
for (int i = 0; i < list.size(); i++) {
Collections.sort(list);
System.out.println(list.get(i).toString());
}
}
public void referCadres(int id) {
a:
while (true) {
System.out.println("正在查询");//加入sleep等待
if (list.size()==0) {
System.out.println("没有找到该干部");
break a;
}
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getID()==id) {
System.out.println(list.get(i).toString());
break a;
}
}
if (true) {
System.out.println("没有该干部,请重新输入");
break;
}
}
}
public void removeInformation(int id) {
a:
while (true) {
System.out.println("正在查询");//可加入sleep等待
if (list.size()==0) {
System.out.println("没有找到该干部");
break a;
}
for (int i = 0; i < list.size(); i++) {
if (list.get(i).getID()==id) {
System.out.println(list.get(i).toString());
System.out.println("是否删除,y/n");
String temp=sc.next();
if (temp.equals("y")) {
list.remove(i);
} else if (temp.equals("n")) {
break a;
}
//把封装好的对象直接给了
System.out.println("\t\t" + "删除成功");
break a;
}
}
if (true) {
System.out.println("没有该干部,请重新输入");
break;
}
}
}
/*
抽取控制台
*/
public Cadres getConsoleString(){
//定义干部对象储存信息
Cadres xin = new Cadres();//定义新的对象,来接收新的对象信息
System.out.println("==================================================");
System.out.println("请输入干部信息");
System.out.println("请输入姓名");
try {
String name = sc.next();
xin.setName(name);
} catch (Exception e) {
System.out.println("输入错误");
}
while (true) {
System.out.println("请输入年龄");
try {
int age =sc.nextInt();
xin.setAge(age);
} catch (Exception e) {
System.out.println("输入错误");
break ;
}
if (xin.flag==true) {
break;
}
}
xin.flag=false;
System.out.println("请输入工号");
try {
全套毕业设计论文现成成品资料请咨询