《职工信息管理系统java源代码2.pdf》由会员分享,可在线阅读,更多相关《职工信息管理系统java源代码2.pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、.packagepackage exercise;importimport java.io.*;classclass staffInfo/职工类publicpublic String name;publicpublic String num;publicpublic String sex;publicpublic String age;publicpublic String record;publicpublic String position;publicpublic String wanges;publicpublic String tel;publicpublicString addr;
2、publicclasspublicclass StaffInfomation/实现局部publicstaticvoidpublicstaticvoid main(finalfinal String args)throwsthrows IOExceptionstaffInfo staffOne=newnew staffInfo100;forfor(intint j=0;j100;j+)staffOnej=newnew staffInfo();finalfinal ways staffTwo=newnew ways();staffTwo.caidan(staffOne);staffTwo.crea
3、t(staffOne);staffTwo.output(staffOne);staffTwo.search(staffOne);staffTwo.delete(staffOne);classclass ways/方法类,主要实现职工信息的建立,显示,查找,删除,信息的保存与读取;这个类是整个程序的操作类。publicpublic String recordkey;publicintpublicinti=0;/i用来存放职工的人数publicpublic String filename=Infomation.txt;BufferedReader buf=newnew BufferedReader
4、(newnew InputStreamReader(System.in);voidvoid caidan(staffInfo staffOne)throwsthrows IOExceptionfinalfinal BufferedReader buf=newnew BufferedReader(newnew InputStreamReader(System.in);/此处是JAVA语言中输入数据的根本格式,功能有如C中的scanf函数intint choice;-优选.dodoSystem.out.println();System.out.println(职工管理系统主菜单界面);System
5、.out.println();System.out.println(1.输入职工信息);System.out.println(2.预览职工信息);System.out.println(3.查找职工信息);System.out.println(4.删除职工信息);System.out.println(5.读取已存数据);System.out.println(6.平安退出系统);System.out.println();System.out.print(请输入您需要的功能代号(1-6):);choice=Integer.parseInt(buf.readLine();switchswitch(ch
6、oice)casecase 1:creat(staffOne);breakbreak;casecase 2:output(staffOne);breakbreak;casecase 3:search(staffOne);breakbreak;casecase 4:delete(staffOne);breakbreak;casecase 5:read(staffOne);breakbreak;casecase 6:save(staffOne);breakbreak;whilewhile(choice!=0);voidvoid creat(staffInfo staffOne)throwsthro
7、ws IOExceptionfinalfinal BufferedReader buf=newnew BufferedReader(newnew InputStreamReader(System.in);System.out.print(请输入职工信息以0完毕)n);System.out.print(XX:);staffOnei.name=buf.readLine();/用数组staffOnei来暂存职工的相关信息whilewhile(staffOnei.name.pareTo(0)!=0)/用pareTo方法确定判定是否应该写入新信息System.out.print(工号:);staffOn
8、ei.num=buf.readLine();System.out.print(性别:);staffOnei.sex=buf.readLine();System.out.print(年龄:);staffOnei.age=buf.readLine();-优选.System.out.print(学历:);staffOnei.record=buf.readLine();System.out.print(职位:);staffOnei.position=buf.readLine();System.out.print(工资:);staffOnei.wanges=buf.readLine();System.o
9、ut.print(:);staffOnei.tel=buf.readLine();System.out.print(住址:);staffOnei.addr=buf.readLine();i+;System.out.println(请输入下一个职工信息:);staffOnei.name=buf.readLine();voidvoid output(staffInfo staffOne)throwsthrows IOException/这里是实现“输出预览职工信息output的模块forfor(intint j=0;ji;j+)if if(i!=0)System.out.println(-);Sy
10、stem.out.println(*职工信息表*);System.out.println(-);System.out.println(XXt工号tt性别t年龄t学历t职位 tt工 资t tt住址);System.out.println(-);System.out.print(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);Sys
11、tem.out.println(-);elseelse System.out.println(没有职工信息!);-优选.voidvoid search(staffInfo staffOne)throwsthrows IOExceptionfinalfinal BufferedReader buf=newnew BufferedReader(newnew InputStreamReader(System.in);System.out.print(请输入您要查找的职工工号:);recordkey=buf.readLine();booleanboolean flg=truetrue;forfor(i
12、ntint j=0;ji;j+)if if(recordkey.equals(staffOnej.num)/equals是字符串比拟函数相等返回trueSystem.out.println(-);System.out.println(*职工信息表*);System.out.println(-);System.out.println(XXt工号tt性别t年龄t学历t职位 tt工 资t tt住址);System.out.println(-);System.out.println(staffOnej.name+t+staffOnej.num+t+staffOnej.sex+t+staffOnej.a
13、ge+t+staffOnej.record+t+staffOnej.position+tt+staffOnej.wanges+t+staffOnej.tel+t+staffOnej.addr+n);flg=falsefalse;if if(flg)System.out.println(对不起,查无此人!);voidvoid delete(staffInfo staffOne)throwsthrows IOExceptionfinalfinal BufferedReader buf=newnew BufferedReader(newnew InputStreamReader(System.in)
14、;System.out.print(请输入您要删除的职工工号:);recordkey=buf.readLine();booleanboolean flg=truetrue;forfor(intint j=0;ji;j+)System.out.println(输入的工号为:+recordkey);if if(recordkey.equals(staffOnej.num)forfor(intint k=j;k=i-1;k+)/利用顺序表的删除算法,删除值之后,再把后面的值往前移位,从而实现删除-优选.staffOnek.name=staffOnek+1.name;staffOnek.num=sta
15、ffOnek+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.addr=staffOnek+1.addr;i-;/职工人数减一flg=falsefalse;if if(flg)System.out.println
16、(对不起,查无此人!。);elseelse System.out.println(已经删除该职工信息!。);voidvoid save(staffInfo staffOne)throwsthrows IOException/数据的保存模块,把输入的职工信息保存到相应的文件里。intint k;finalfinal FileWriter fw=newnew FileWriter(filename);/调用构造函数FileWriter创立FileWriter类的对象。fw.write(i+n);/把职工的人数保存到文件中以便下次读取时使用forfor(k=0;ki;k+)/每个职工有9个信息字段,
17、下面就是这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.tel+n);fw.write(staffOnek.addr+n);fw.close();System.out.println(系统已经平安退出!感谢您
18、的使用!);System.exit(0);voidvoid read(staffInfo staffOne)throwsthrows IOException-优选.finalfinal FileReader fr=newnew FileReader(filename);finalfinal BufferedReader bfr=newnew BufferedReader(fr);if if(recordkey=bfr.readLine()!=nullnull)i=Integer.parseInt(recordkey);forfor(intint j=0;ji;j+)staffOnej.name
19、=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数据已经成功读取!);-优选