1、职工信息管理系统java源代码package exercise;import java.io.*;class staffInfo /职工类 public String name; public String num; public String sex; public String age; public String record; public String position; public String wanges; public String tel; public String addr;public class StaffInfomation /实现部分 public stati
2、c void main(final String args) throws IOException staffInfo staffOne=new staffInfo100; for(int j=0;j100;j+) staffOnej = new staffInfo(); final ways staffTwo=new ways(); staffTwo.caidan(staffOne); staffTwo.creat(staffOne); staffTwo.output(staffOne); staffTwo.search(staffOne); staffTwo.delete(staffOne
3、); class ways /方法类,主要实现职工信息的建立,显示,查找,删除,信息的保存与读取;这个类是整个程序的操作类。 public String recordkey; public int i=0;/i用来存放职工的人数 public String filename=Infomation.txt; BufferedReader buf=new BufferedReader(new InputStreamReader(System.in); void caidan(staffInfo staffOne) throws IOException final BufferedReader bu
4、f=new BufferedReader(new InputStreamReader(System.in); /此处是JAVA语言中输入数据的基本格式,功能有如C中的scanf函数 int choice; do System.out.println(); System.out.println( 职工管理系统主菜单界面 ); System.out.println(); System.out.println( 1.输入职工信息 ); System.out.println( 2.预览职工信息 ); System.out.println( 3.查找职工信息 ); System.out.println(
5、 4.删除职工信息 ); System.out.println( 5.读取已存数据 ); System.out.println( 6.安全退出系统 ); System.out.println(); System.out.print( 请输入您需要的功能代号(1-6):); choice=Integer.parseInt(buf.readLine(); switch(choice) case 1:creat(staffOne);break; case 2:output(staffOne);break; case 3:search(staffOne);break; case 4:delete(st
6、affOne);break; case 5:read(staffOne);break; case 6:save(staffOne);break; while(choice!=0);void creat(staffInfo staffOne) throws IOException final BufferedReader buf=new BufferedReader(new InputStreamReader(System.in); System.out.print(请输入职工信息(以0结束)n); System.out.print(姓名:); staffOnei.name=buf.readLi
7、ne(); /用数组staffOnei来暂存职工的相关信息 while(staffOneipareTo(0)!=0) /用compareTo方法确定判定是否应该写入新信息 System.out.print(工号:); staffOnei.num=buf.readLine(); System.out.print(性别:); staffOnei.sex=buf.readLine(); System.out.print(年龄:); staffOnei.age=buf.readLine(); System.out.print(学历:); staffOnei.record=buf.readLine();
8、 System.out.print(职位:); staffOnei.position=buf.readLine(); System.out.print(工资:); staffOnei.wanges=buf.readLine(); System.out.print(电话:); staffOnei.tel=buf.readLine(); System.out.print(住址:); staffOnei.addr=buf.readLine(); i+; System.out.println(请输入下一个职工信息:); staffOnei.name=buf.readLine(); void outpu
9、t(staffInfo staffOne) throws IOException /这里是实现“输出(预览)职工信息”output的模块 for(int j=0;ji;j+) if(i!=0) System.out.println(-); System.out.println( *职工信息表* ); System.out.println(-); System.out.println(姓名t工号tt性别t年龄t学历t职位 tt工 资t电话号码 tt住址); System.out.println(-); System.out.print(staffOnej.name+t+staffOnej.num
10、+t+staffOnej.sex+t+staffOnej.age+t+staffOnej.record+t+staffOnej.position+tt+staffOnej.wanges+t+staffOnej.tel+t+staffOnej.addr+n); System.out.println(-); else System.out.println(没有职工信息!); void search(staffInfo staffOne) throws IOException final BufferedReader buf=new BufferedReader(new InputStreamRea
11、der(System.in); System.out.print(请输入您要查找的职工工号:); recordkey=buf.readLine(); boolean flg=true; for(int j=0;ji;j+) if(recordkey.equals(staffOnej.num) /equals是字符串比较函数相等返回true System.out.println(-); System.out.println( *职工信息表* ); System.out.println(-); System.out.println(姓名t工号tt性别t年龄t学历t职位 tt工 资t电话号码 tt住
12、址); System.out.println(-); System.out.println(staffOnej.name+t+staffOnej.num+t+staffOnej.sex+t+staffOnej.age+t+staffOnej.record+t+staffOnej.position+tt+staffOnej.wanges+t+staffOnej.tel+t+staffOnej.addr+n); flg=false; if(flg) System.out.println(对不起,查无此人!);void delete(staffInfo staffOne) throws IOExce
13、ption final BufferedReader buf=new BufferedReader(new InputStreamReader(System.in); System.out.print(请输入您要删除的职工工号:); recordkey=buf.readLine(); boolean flg=true; for(int j=0;ji;j+) System.out.println(输入的工号为:+recordkey); if(recordkey.equals(staffOnej.num) for(int k=j;k=i-1;k+) /利用顺序表的删除算法,删除值之后,再把后面的值
14、往前移位,从而实现删除 staffOnek.name=staffOnek+1.name ; staffOnek.num=staffOnek+1.num ; staffOnek.sex=staffOnek+1.sex; staffOnek.age=staffOnek+1.age ; staffOnek.record=staffOnek+1.record ; staffOnek.position=staffOnek+1.position ; staffOnek.wanges=staffOnek+1.wanges ; staffOnek.tel=staffOnek+1.tel ; staffOnek
15、.addr=staffOnek+1.addr ; i-;/职工人数减一 flg=false; if(flg) System.out.println(对不起,查无此人!。); else System.out.println(已经删除该职工信息!。);void save(staffInfo staffOne) throws IOException /数据的保存模块,把输入的职工信息保存到相应的文件里。 int k; final FileWriter fw=new FileWriter(filename);/调用构造函数FileWriter()创建FileWriter类的对象。 fw.write(
16、i+n);/把职工的人数保存到文件中以便下次读取时使用 for( k=0;ki;k+)/每个职工有9个信息字段,下面就是这9个信息段。 fw.write( staffOnek.name+n); fw.write( staffOnek.num+n); fw.write( staffOnek.sex+n ); fw.write( staffOnek.age+n); fw.write( staffOnek.record+n); fw.write( staffOnek.position+n) ; fw.write( staffOnek.wanges+n); fw.write( staffOnek.te
17、l+n); fw.write( staffOnek.addr+n); fw.close(); System.out.println(系统已经安全退出!感谢您的使用!); System.exit(0);void read(staffInfo staffOne) throws IOException final FileReader fr=new FileReader(filename); final BufferedReader bfr=new BufferedReader(fr); if(recordkey=bfr.readLine()!=null) i=Integer.parseInt(re
18、cordkey); for(int j=0;ji;j+) staffOnej.name=bfr.readLine(); staffOnej.num=bfr.readLine(); staffOnej.sex=bfr.readLine(); staffOnej.age=bfr.readLine(); staffOnej.record=bfr.readLine(); staffOnej.position=bfr.readLine() ; staffOnej.wanges=bfr.readLine(); staffOnej.tel=bfr.readLine(); staffOnej.addr=bfr.readLine(); fr.close(); System.out.println(n数据已经成功读取!);
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2