职工信息管理系统java源代码文档格式.docx
《职工信息管理系统java源代码文档格式.docx》由会员分享,可在线阅读,更多相关《职工信息管理系统java源代码文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
j<
100;
j++)
staffOne[j]=newstaffInfo();
finalwaysstaffTwo=newways();
staffTwo.caidan(staffOne);
staffTwo.creat(staffOne);
staffTwo.output(staffOne);
staffTwo.search(staffOne);
staffTwo.delete(staffOne);
}
classways//方法类,主要实现职工信息的建立,显示,查找,删除,信息的保存与读取;
这个类是整个程序的操作类。
publicStringrecordkey;
publicinti=0;
//i用来存放职工的人数
publicStringfilename="
Infomation.txt"
;
BufferedReaderbuf=newBufferedReader(newInputStreamReader(System.in));
voidcaidan(staffInfostaffOne[])throwsIOException
finalBufferedReaderbuf=newBufferedReader(newInputStreamReader(System.in));
//此处是JAVA语言中输入数据的基本格式,功能有如C中的scanf函数
intchoice;
do{
System.out.println("
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓"
);
┃★★★★★★★★职工管理系统主菜单界面★★★★★★★★┃"
┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┫"
┃ ★★★1.输入职工信息★★★┃"
┃★★★2.预览职工信息★★★┃"
┃★★★3.查找职工信息★★★ ┃"
┃★★★4.删除职工信息★★★ ┃"
┃ ★★★ 5.读取已存数据★★★┃"
┃★★★6.安全退出系统★★★┃"
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛"
System.out.print("
请输入您需要的功能代号(1--6):
"
choice=Integer.parseInt(buf.readLine());
switch(choice){
case1:
creat(staffOne);
break;
case2:
output(staffOne);
case3:
search(staffOne);
case4:
delete(staffOne);
case5:
read(staffOne);
case6:
save(staffOne);
while(choice!
=0);
voidcreat(staffInfostaffOne[])throwsIOException
请输入职工信息(以0结束)\n"
姓名:
staffOne[i].name=buf.readLine();
//用数组staffOne[i]来暂存职工的相关信息
while(staffOne[i]pareTo("
0"
)!
=0)//用compareTo方法确定判定是否应该写入新信息
{
工号:
staffOne[i].num=buf.readLine();
性别:
staffOne[i].sex=buf.readLine();
年龄:
staffOne[i].age=buf.readLine();
学历:
staffOne[i].record=buf.readLine();
职位:
staffOne[i].position=buf.readLine();
工资:
staffOne[i].wanges=buf.readLine();
:
staffOne[i].tel=buf.readLine();
住址:
staffOne[i].addr=buf.readLine();
i++;
请输入下一个职工信息:
voidoutput(staffInfostaffOne[])throwsIOException//这里是实现“输出(预览)职工信息”output的模块
{
for(intj=0;
i;
j++)
{
if(i!
=0)
{
System.out.println("
------------------------------------------------------------------------------------------------"
*职工信息表*"
-------------------------------------------------------------------------------------------------"
姓名\t工号\t\t性别\t年龄\t学历\t职位\t\t工资\t\t\t住址"
System.out.print(staffOne[j].name+"
\t"
+staffOne[j].num+"
+staffOne[j].sex+"
+staffOne[j].age+"
+staffOne[j].record+"
+staffOne[j].position+"
\t\t"
+staffOne[j].wanges+"
+staffOne[j].tel+"
+staffOne[j].addr+"
\n"
}
elseSystem.out.println("
没有职工信息!
}
voidsearch(staffInfostaffOne[])throwsIOException
请输入您要查找的职工工号:
recordkey=buf.readLine();
booleanflg=true;
if(recordkey.equals(staffOne[j].num))//equals是字符串比较函数相等返回true
System.out.println("
-------------------------------------------------------------------------------------"
--------------------------------------------------------------------------------------"
System.out.println(staffOne[j].name+"
flg=false;
}
if(flg)
对不起,查无此人!
voiddelete(staffInfostaffOne[])throwsIOException
请输入您要删除的职工工号:
输入的工号为:
+recordkey);
if(recordkey.equals(staffOne[j].num))
for(intk=j;
k<
=i-1;
k++)//利用顺序表的删除算法,删除值之后,再把后面的值往前移位,从而实现删除
staffOne[k].name=staffOne[k+1].name;
staffOne[k].num=staffOne[k+1].num;
staffOne[k].sex=staffOne[k+1].sex;
staffOne[k].age=staffOne[k+1].age;
staffOne[k].record=staffOne[k+1].record;
staffOne[k].position=staffOne[k+1].position;
staffOne[k].wanges=staffOne[k+1].wanges;
staffOne[k].tel=staffOne[k+1].tel;
staffOne[k].addr=staffOne[k+1].addr;
i--;
//职工人数减一
flg=false;
。
elseSystem.out.println("
已经删除该职工信息!
voidsave(staffInfostaffOne[])throwsIOException//数据的保存模块,把输入的职工信息保存到相应的文件里。
intk;
finalFileWriterfw=newFileWriter(filename);
//调用构造函数FileWriter()创建FileWriter类的对象。
fw.write(i+"
//把职工的人数保存到文件中以便下次读取时使用
for(k=0;
k++)//每个职工有9个信息字段,下面就是这9个信息段。
{
fw.write(staffOne[k].name+"
fw.write(staffOne[k].num+"
fw.write(staffOne[k].sex+"
);
fw.write(staffOne[k].age+"
fw.write(staffOne[k].record+"
fw.write(staffOne[k].position+"
);
fw.write(staffOne[k].wanges+"
fw.write(staffOne[k].tel+"
fw.write(staffOne[k].addr+"
fw.close();
系统已经安全退出!
感谢您的使用!
System.exit(0);
voidread(staffInfostaffOne[])throwsIOException
finalFileReaderfr=newFileReader(filename);
finalBufferedReaderbfr=newBufferedReader(fr);
if((recordkey=bfr.readLine())!
=null)
i=Integer.parseInt(recordkey);
staffOne[j].name=bfr.readLine();
staffOne[j].num=bfr.readLine();
staffOne[j].sex=bfr.readLine();
staffOne[j].age=bfr.readLine();
staffOne[j].record=bfr.readLine();
staffOne[j].position=bfr.readLine();
staffOne[j].wanges=bfr.readLine();
staffOne[j].tel=bfr.readLine();
staffOne[j].addr=bfr.readLine();
fr.close();
\n数据已经成功读取!