qijunya

题目:

员工类:

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();
    }
}

 

分类:

技术点:

相关文章: