今日复习昨日内容
分享昨晚项目成果
功能1 | 员工信息要保存到数组里。 1.工号(不能输入,自动生成的自动递增的一个数字1001) 2.员工姓名 员工的工号和姓名都是保存到数组里 int[]nos = new int[2]; string []names = new string[2]; 要考虑扩容问题 |
功能2 | 根据工号查询 如果有能力的,可以去做根据姓名查询,姓名可以重名(选做)。 |
功能3 | 修改两个操作 1、先输入员工号;先查询员工号在不在,若干不在,员工号输入有误 如果在,先显示出原有信息,请输入新的名字 修改信息1002 nos[1] nos[1] |
功能4 | 数组删除元素: 10个元素,5个,移位的问题 int[]0 String[] null |
package HomeWork;
import java.util.Scanner;
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
System.out.println("欢迎使用员工管理系统!");
Scanner sc = new Scanner(System.in);
int[] nos = new int[1]; //用于存放员工号
String[] names = new String[1]; //用于存放员工姓名
int noCount = 1000; //员工编号
int empSum = 0; //员工人数
boolean isAdd = false; //是否继续添加
while (true) {
System.out.println("请选择功能:1.添加员工 2.查询员工 3.修改员工 4.删除员工");
int flag = sc.nextInt();
switch (flag) {
case 1:
//添加
isAdd = true;
while (isAdd) {
System.out.print("请输入员工姓名:");
String name = sc.next();
//超出扩容,一次扩容2个单位
if (empSum >= nos.length) {
int[] new_nos = new int[nos.length + 1];
String[] new_names = new String[names.length + 1];
for (int i = 0; i < nos.length; i++) {
new_nos[i] = nos[i];
new_names[i] = names[i];
}
nos = new_nos;
names = new_names;
}
//赋值并更新
nos[empSum] = ++noCount;
names[empSum++] = name;
System.out.println("你已添加成功!");
System.out.println("是否继续添加?(true/false):");
isAdd = sc.nextBoolean();
}
break;
case 2:
/*
要求根据工号查询
*/
boolean isFindAll = false;
System.out.print("查询所有员工true;查询单个员工false:");
isFindAll = sc.nextBoolean();
if (isFindAll) {
//查询所有员工
if (names[0] == null) {
System.out.println("没有任何员工");
break;
}
for (int i = 0; i < nos.length; i++) {
System.out.println("员工编号:" + nos[i] + "\t员工姓名:" + names[i]);
}
} else {
System.out.print("请输入你想查询的员工工号:");
int empNo = sc.nextInt();
boolean isFound = false;
for (int i = 0; i < nos.length; i++) {
if (empNo == nos[i]) {
System.out.println("员工编号:" + nos[i] + "\t员工姓名:" + names[i]);
isFound = true;
break;
}
}
System.out.print(isFound ? "" : "未找到该员工\n");
}
break;
case 3:
//修改
System.out.print("请输入你想修改的员工工号:");
int empNo1 = sc.nextInt();
boolean isFound1 = false;
for (int i = 0; i < nos.length; i++) {
if (empNo1 == nos[i]) {
//显示原有信息
System.out.println("员工编号:" + nos[i] + "\t员工姓名:" + names[i]);
isFound1 = true;
System.out.print("请输入新名字:");
String new_name = sc.next();
//更新新名字
names[i] = new_name;
System.out.println("修改成功!修改结果如下");
System.out.println("员工编号:" + nos[i] + "\t员工姓名:" + names[i]);
break;
}
}
System.out.print(isFound1 ? "" : "员工号有误\n");
break;
case 4:
//删除
System.out.print("请输入你想删除的员工工号:");
int empNo2 = sc.nextInt();
boolean isFound2 = false;
for (int i = 0; i < nos.length; i++) {
if (empNo2 == nos[i]) {
//显示原有信息
System.out.println("员工编号:" + nos[i] + "\t员工姓名:" + names[i]);
isFound2 = true;
System.out.print("是否确认删除该员工?(true/false):");
boolean isDel = sc.nextBoolean();
if (isDel) {//删除
for (int j = i; j < nos.length; j++) {
if (j == nos.length - 1) {
nos[j] = 0;
names[j] = null;
break;
}
//位移
nos[j] = nos[j + 1];
names[j] = names[j + 1];
}
//更新员工数量
empSum--;
System.out.println("删除成功!");
} else {
System.out.println("已取消删除操作!");
}
break;
}
System.out.print(isFound2 ? "" : "你要删除的员工并不存在!\n");
}
break;
default:
System.out.println("无效数值,请重新选择");
break;
}
}
}
}
基本实现要求功能 后续会完善具体功能
所复习知识能够理解掌握
天气晴 早上打了羽毛球 坚持 心情良好