实现程序模拟简单的企业职工管理系统。编写程序实现以下要求:
(1)请按继承层次构建企业的各种职工类型,包括超类Employee,以及相应的子类Manager、Secretary和Programmer,从Manager继承又可得到Executive。超类Employee有编号,姓名,年龄,薪金、地址和雇佣日期等信息。
(2)用户可以根据职工编号或职工姓名查找所需的信息。管理人员可以增加,删除数据;可以写入一个数据,查找一个数据,或删除一个数据;此外,管理人员可以增加或降低每个职工的薪金。程序通过ArrayList来实现增加,查找,删除数据。
java实验-实现程序模拟简单的企业职工管理系统
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注 可以参考一下
import java.util.*; public class main { private static Scanner input = new Scanner(System.in); private static String[][] workers = new String[100][8]; private static String[] workerName = new String[100]; private static String[] newWorker = new String[8]; private static int total = 0; public static void main(String[] args) { excleFiles file = new excleFiles(); file.go(workers,workerName);//初始化workers表 sortUp Osort = new sortUp(); total = file.getTotal(); Osort.sort(workers,total,0); System.out.println("经过姓名字典排序后的职工表为"); for (int i = 0;i < total;i++){ for (int j = 0;j < 8;j++){ System.out.print(workers[j][i]+" "); } System.out.println(); }//此部分为调试代码时验证使用 System.out.println("********************欢迎使用职工管理系统*********************"); System.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.println("***********************职工管理系统**********************"); while (true) { System.out.println("请选择需要的服务(1-6):"); int Select = input.nextInt(); if(Select == 1){//添加功能已完善! int i = 0; System.out.println("您现在选择的是增加职工,请输入对应信息"); System.out.println("姓名:"); newWorker[i] = input.next(); i++; System.out.println("性别:"); newWorker[i] = input.next(); i++; System.out.println("出生年月:"); newWorker[i] = input.next(); i++; System.out.println("工作年月:"); newWorker[i] = input.next(); i++; System.out.println("学历:"); newWorker[i] = input.next(); i++; System.out.println("职务:"); newWorker[i] = input.next(); i++; System.out.println("住址:"); newWorker[i] = input.next(); i++; System.out.println("电话:"); newWorker[i] = input.next(); System.out.println("您输入的用户信息为"); for (i = 0;i < 8;i++) { System.out.print(newWorker[i] + " "); } System.out.println("是否对其进行写入?确认请输入y,否则输入n"); if(input.next().equals("y")){ for (i = 0;i < 8;i++) { workers[i][total] = newWorker[i]; } total++; System.out.println("已写入"); } System.out.println("现在职工表信息为"); for (i = 0;i < total;i++){ for (int j = 0;j < 8;j++){ System.out.print(workers[j][i]+" "); } System.out.println(); }//此部分为调试代码时验证使用 } if(Select == 2){//删除功能(已写完但是未完善)//已完善!!!一遍过 int flag = 0; System.out.println("您现在使用的是删除功能,请输入您要删除的员工姓名"); String selectName = input.next(); for(int i = 0;i < total;i++){ if (workers[0][i].equals(selectName)) { System.out.println("匹配成功"); flag = 1; for (int h = 0;h < 8;h++) { System.out.print(workers[h][i] + " "); } System.out.println("您是否决定对其进行删除?删除请输入y,否则输入n"); if (input.next().equals("y")){ for (;i < total;i++){ for (int j=0;j < 8;j++){ workers[j][i] = workers[j][i+1]; } } total--; } break; } } if (flag == 0){ System.out.println("在职工表中未找到匹配对象"); } System.out.println("现在职工表信息为"); for (int i = 0;i < total;i++){ for (int j = 0;j < 8;j++){ System.out.print(workers[j][i]+" "); } System.out.println(); }//此部分为调试代码时验证使用 } if (Select == 3){//查询功能已完善! int flag = 0; System.out.println("您现在使用的是查询功能,请输入您查询的员工姓名"); //System.out.println(total);(total值已经成功导入) /*for (int i=0;i < total;i++){ for (int j=0;j < 7;j++){ System.out.println(workers[j][i]); } }*///workers表已经成功导入 String selectName = input.next(); //if (selectName.equals("a")) //System.out.println("和a一样"); //System.out.println(selectName); for (int i = 0;i < total;i++){ //System.out.println(workers[0][i]);这个匹配是对的 if (workers[0][i].equals(selectName)){ System.out.println("匹配成功"); for (int j=0;j < 8;j++) { System.out.print(workers[j][i] + " "); } flag = 1; break; } } if (flag == 0){ System.out.println("未在职工表中找到匹配对象!"); } } if (Select == 4){//修改值(已写但是未完善)//就改了一个值,总体功能没问题,gooddd~ int flag = 0; System.out.println("您现在使用的是检索并修改功能,请输入您检索的员工姓名"); String selectName = input.next(); for (int i = 0;i < total;i++){ if (workers[0][i].equals(selectName)){ System.out.println("匹配成功,请输入您想修改的属性编码,编码对应如下"); flag = 1; System.out.println("姓名:0 性别:1 出生年月:2 工作年月:3 学历:4 职务:5 住址:6 电话:7"); //String temp = input.next(); int temp = input.nextInt(); for (int j = 0;j < 8;j++){ //System.out.println(temp);测试用的 if (temp == j){ System.out.println("请输入您修改后的值"); workers[j][i] = input.next(); System.out.println("已修改完毕!"); } /*else{ System.out.println("还没匹配到"); }*/ } break; } } if (flag == 0){ System.out.println("未在职工表中找到匹配对象!"); } System.out.println("此时职工表为"); for (int i=0;i < total;i++){ for (int j = 0;j < 8;j++){ System.out.print(workers[j][i]+" "); } System.out.println(); } } if (Select == 5){//排序输出(采用的是升序字典排列法) System.out.println("您选择的是排序功能,本系统将对职工表中的选定属性行升序排列"); int sign; sortUp sort1 = new sortUp(); System.out.println("请选择您想要进行排序的属性编码,编码对应如下"); System.out.println("姓名:0 性别:1 出生年月:2 工作年月:3 学历:4 职务:5 住址:6 电话:7"); sign = input.nextInt(); sort1.sort(workers,total,sign); System.out.println("此时职工表为"); for (int i=0;i < total;i++){ for (int j = 0;j < 8;j++){ System.out.print(workers[j][i]+" "); } System.out.println(); } } if (Select == 6){//退出并写入文件 file.output(workers); System.out.println("感谢您的使用,欢迎下次再来!"); break; } } } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥20 西门子S7-Graph,S7-300,梯形图
- ¥50 用易语言http 访问不了网页
- ¥50 safari浏览器fetch提交数据后数据丢失问题
- ¥15 matlab不知道怎么改,求解答!!
- ¥15 永磁直线电机的电流环pi调不出来
- ¥15 用stata实现聚类的代码
- ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效
- ¥15 悬赏!微信开发者工具报错,求帮改