题目:
员工类:
package com.javaketang.output.homework01; public class Employee { /** * 员工类 * * @author admin * */ private String name;// 姓名 private int age;// 年龄 private String position;// 职位 private double salary;// 工资 /** * 无参构造方法 */ public Employee() { } public Employee(String name, int age, String position, double salary) { this.name = name; this.age = age; this.position = position; this.salary = salary; } /** * 获取姓名方法 * * @return */ public String getName() { return name; } /** * 设置姓名方法 * * @param name */ public boolean setName(String name) { if (name.length() >= 2 && name.length() <= 6) { this.name = name; return true; } else { System.out.println(name + "格式不正确,(请输入两位~六位的姓名)!!!"); return false; } } /** * 获取年龄方法 * * @return */ public int getAge() { return age; } /** * 设置年龄方法 * * @param age */ public boolean setAge(int age) { if (age <= 0 || age > 120) { System.out.println(age + "格式不正确(请输入1~120的年龄)!!!"); return false; } else { this.age = age; return true; } } /** * 获取职位方法 * * @return */ public String getPosition() { return position; } /** * 设置职位方法 * * @param position */ public void setPosition(String position) { this.position = position; } /** * 获取工资方法 * * @return */ public double getSalary() { return salary; } /** * 设置工资方法 * * @param salary */ public void setSalary(double salary) { this.salary = salary; } /** * 打印方法 */ public void print() { System.out.println("员工姓名:\t员工年龄:\t员工职位:\t员工薪水:"); System.out.println(name + "\t\t" + age + "\t\t" + position + " \t " + salary); } }
员工管理类:
package com.javaketang.output.homework01; import java.util.Scanner; /** * 员工管理类 * * @author admin * */ public class EmployeeInml { /** * 成员变量 */ // 定义员工类对象数组 Employee arrayEmp[] = new Employee[100]; /** * 添加员工方法 * * @param employee */ public void add(Employee employee) { // 循环数组 for (int i = 0; i < arrayEmp.length; i++) { // 判断数组第i个值为空 if (arrayEmp[i] == null) { // 初始化数组第i个为对象 arrayEmp[i] = new Employee(); // 把形参的对象赋值给对象数组的第i个值 arrayEmp[i] = employee; System.out.println("添加成功!"); break;// 打断 } } } /** * 验证该员工是否存在 * * @param name * @return */ public boolean exist(String name) { // 循环数组 for (int i = 0; i < arrayEmp.length; i++) { // 判断数组第i个值不能为空,并且数组第i个的姓名与要验证的员工姓名相同 if (arrayEmp[i] != null && arrayEmp[i].getName().equals(name)) { return true; } } return false; } /** * 删除员工方法 * * @param name */ public void delete(String name) { // 获取要删除的员工下标 int index = 0; // 循环数组 for (int i = 0; i < arrayEmp.length; i++) { // 判断数组第i个值不能为空,并且数组第i个的姓名与要验证的员工姓名相同 if (arrayEmp[i] != null && arrayEmp[i].getName().equals(name)) { // 找到要删除的员工下标 index = i; // 打断 break; } } // 将要删除的员工的值赋值为空(null==删除) arrayEmp[index] = null; // 循环数组平移 for (int i = index; i < arrayEmp.length - 1; i++) { // 换水 Employee temp = arrayEmp[i]; arrayEmp[i] = arrayEmp[i + 1]; arrayEmp[i + 1] = temp; } System.out.println("删除成功!"); } /** * 显示员工信息方法 */ public void show() { // 循环数组 for (int i = 0; i < arrayEmp.length; i++) { // 判断数组第i个值不能为空 if (arrayEmp[i] != null) { // 调用数组对象i的打印 arrayEmp[i].print(); } } } /** * 初始化员工信息方法 */ public void init() { // 初始化第一个员工信息 Employee e1 = new Employee("张三", 19, "开发工程师", 8000); arrayEmp[0] = e1; // 初始化第二个员工信息 Employee e2 = new Employee("李四", 25, "产品经理", 18600); arrayEmp[1] = e2; // 初始化第三个员工信息 Employee e3 = new Employee("王五", 20, "测试工程师", 6900); arrayEmp[2] = e3; } /** * 菜单方法 */ public void menu() { // 创建控制台输入 Scanner input = new Scanner(System.in); // 定义选择结构变量 int index; // 调用初始化员工信息方法 init(); do { System.out.println("--------------员工信息管理系统--------------"); System.out.println("1.添加员工"); System.out.println("2.删除员工"); System.out.println("3.显示所有员工"); System.out.println("0.退出"); System.out.println("--------------员工信息管理系统--------------"); System.out.println("请选择>>>"); index = input.nextInt(); switch (index) { case 1: // 创建添加员工对象 Employee addEmployee = new Employee(); do { System.out.println("请输入员工姓名:"); } while (!addEmployee.setName(input.next())); // 判断员工名称是否存在 if (exist(addEmployee.getName())) { System.out.println(addEmployee.getName() + "已经存在,无法添加!"); break; } do { System.out.println("请输入员工年龄:"); } while (!addEmployee.setAge(input.nextInt())); System.out.println("请输入员工职位:"); addEmployee.setPosition(input.next()); System.out.println("请输入员工薪水:"); addEmployee.setSalary(input.nextDouble()); add(addEmployee);// 调用添加方法 break; case 2: System.out.println("请输入删除员工的姓名:"); String name = input.next(); if (exist(name)) { delete(name);// 调用删除员工信息方法 } else { System.out.println(name + "员工不存在,无法进行删除操作!"); } break; case 3: show();// 调用显示所有员工信息方法 break; case 0: System.out.println("退出成功,谢谢您的使用!!!"); break; default: System.out.println("请输入正确的数字!"); } } while (index != 0); } }
员工管理测试类:
package com.javaketang.output.homework01; public class TestEmployee { /** * 测试员工类 * * @author admin * */ public static void main(String[] args) { EmployeeInml e = new EmployeeInml(); // 调用菜单方法 e.menu(); } }