java练习(教师管理系统)

第一版

退出接口

public interface Exitable {

    void exit();
    //退出系统
}

初始化接口

public interface Initable {

    void init();
    //初始化数组

    void add();
    //添加

    void update();
    //修改

    void delete();
    //删除

    void searchAll();
    //查询所有

    void searchWhichName();
    //根据名字查询

    void searchWhichDept();
    //根据部门查询

    int find(int flag, String name);
    void find(String dept);
    //查找方法

教师类

package jiaoshiguanlixitong;

public class Teacher {
    private String name;//姓名
    private int age;//年龄
    private String dept;//部门

    public Teacher() {
    }

    public Teacher(String name, int age, String dept) {
        this.name = name;
        this.age = age;
        this.dept = dept;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public String getDept() {
        return dept;
    }

    public String intro(){
        return "姓名:"+name+"\t部门:"+dept;
    }
    //自我介绍intro()方法
}

教师信息系统

package jiaoshiguanlixitong;

import java.util.Scanner;

public class TIMS extends SystemManager implements Initable,Exitable{
    Scanner input = new Scanner(System.in);
    Teacher[] teachers = new Teacher[5];
    //创建对象



    @Override
    public void chooseMenu() {
        showMenu();
        System.out.println("请选择:");
        switch (input.nextInt()) {
            case 1: searchAll();break;
            case 2: add();break;
            case 3: update();break;
            case 4: delete();break;
            case 5: searchWhichName();break;
            case 6: searchWhichDept();break;
            case 7: exit();
        }//选择功能

    }

    @Override
    public void exit() {
        System.exit(0);
    }

    @Override
    public void delete() {//删除功能
        System.out.println("请输入你要删除的老师的姓名");
        Scanner scanner =new Scanner(System.in);
        String searchName =scanner.next();
        //按照名字找到老师
        int index = find(1, searchName);
        if (index != -1) {

                teachers[index] = null;

        } else {
            System.out.println("没有找到");
        }
    }
    @Override
    public void add() {//增加功能
        Scanner scanner =new Scanner(System.in);
        //查空位
        int index = find(0, null);
        //不等于-1就是有空位
        if (index != -1) {

            System.out.println("请输入名字");
            String addname = scanner.next();
            System.out.println("请输入年龄");
            int addage = scanner.nextInt();
            System.out.println("请输入部门");
            String adddept = scanner.next();

            Teacher addTeacher =new Teacher(addname,addage,adddept);
            teachers[index]=addTeacher;
            System.out.printf("添加成功");
        } else {
            System.out.println("老师人数已满,不能再添加了");
        }
    }

    @Override
    public void update() {//修改功能
        System.out.printf("请输入需要修改的老师姓名:");
        Scanner scanner =new Scanner(System.in);
        String searchName =scanner.next();

        //按照名字找到老师
        int index = find(1, searchName);
        if (index != -1) {
            System.out.println("请输入要修改的“年龄”和”所在的部门“");
            System.out.println("请输入年龄");
            int addage = scanner.nextInt();
            System.out.println("请输入部门");
            String adddept = scanner.next();
            teachers[index] = new Teacher(searchName, addage, adddept);
        } else {
            System.out.println("没有找到");
        }
    }
    @Override
    public void searchAll() {
//        查看所有教师
        int i = find(2, null);
    }

    @Override
    public void searchWhichName() {
        System.out.println("请输入你要查询的老师的姓名");
//查询老师----通过姓名查询
        Scanner scanner =new Scanner(System.in);
        String searchName =scanner.next();
        int index = find(1, searchName);
        if (index != -1) { //查询到名字,然后输出
            System.out.println("姓名    年龄    部门");
            System.out.println(teachers[index].getName() + "    " + teachers[index].getAge() + "    " + teachers[index].getDept());
        } else {
            System.out.println("没有找到");
        }
    }

    @Override
    public void searchWhichDept() {
//        通过部门查询
        System.out.println("请输入你要查询的部门");
        Scanner scanner =new Scanner(System.in);
        String dept =scanner.next();
        //部门不止一个,如果查到了就记录下索引,放到数组里
        find(dept);
    }
    @Override
    public void showMenu() {
//        System.out.println("欢迎来到教师管理系统");
        System.out.println("1、查看\t2、增加\t3、修改\t4、删除\t5、根据姓名查询\t6、根据部门查询\t7、退出");

    }
    @Override
    public void init() {
        Teacher t1 = new Teacher("wangwu",35,"教导处");
        teachers[0]=t1;
        Teacher t2 = new Teacher("Hewu",45,"教导处");
        teachers[1]=t2;
        Teacher t3 = new Teacher("quwu",45,"团支部");
        teachers[2]=t3;
    }
    @Override
    public int find(int flag, String name) {

        int f = 0;
        switch (flag) {     //规定0为查空位
            case 0:
                for (; f < teachers.length; f++) {
                    //当查询到数组中有个null就返回该索引
                    if (teachers[f] == null) {
                        return f;
                    }
                }
                if (f == teachers.length)
                    return -1;
                break;
            case 1:
                for (; f < teachers.length; f++) {
                    if (teachers[f] != null && name.equals(teachers[f].getName())) {
                        return f;
                    }
                }
                if (f == teachers.length)
                    return -1;
                break;
            case 2:
                System.out.println("姓名    年龄    部门");
                for (int i = 0; i < teachers.length; i++) {
                    if (teachers[i] == null) {
                        continue;
                    }
                    System.out.println(teachers[i].getName() + "    " + teachers[i].getAge() + "    " + teachers[i].getDept());
                }
                return -1;
        }
        return 0;
    }

    @Override
    public void find(String dept) {
        System.out.println("姓名    年龄    部门");
        for (int i = 0; i < teachers.length; i++) {
            //找到一个部门就输出一个
            if (teachers[i] != null && dept.equals(teachers[i].getDept())) {
                System.out.println(teachers[i].getName() + "    " + teachers[i].getAge() + "    " + teachers[i].getDept());
            }
        }
    }
}

教师系统

package jiaoshiguanlixitong;

public abstract class SystemManager  {
    //显示菜单
    public abstract void showMenu();
    //选择菜单
    public abstract void chooseMenu();
}

运行

public class RunningSystem {
    /*
    主函数,用来运行系统
     */
    public static void main(String[] args) {
        //引用intro()方法
        Teacher teacher = new Teacher("wangww",28,"团支部");
        System.out.println(teacher.intro());
        TIMS tims = new TIMS();
        System.out.println("欢迎来到教师管理系统");
        tims.init();
        while (true) {
            tims.chooseMenu();
        }
    }
}

第二版

教师类(Teacher.java)

class Teacher {
    private String name;
    private int age;
    private String dept;

    public Teacher(String name, int age, String dept) {
        this.name = name;
        this.age = age;
        this.dept = dept;
    }

    public void intro() {
        System.out.println("姓名:" + name);
        System.out.println("部门:" + dept);
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public String getDept() {
        return dept;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public void setDept(String dept) {
        this.dept = dept;
    }
}

初始化接口(Initable.java)

interface Initable {
    void init();
}

退出接口(Exitable.java)

interface Exitable {
    void exit();
}

管理系统抽象类(SystemManage.java)

abstract class SystemManage {
    public void showMenu() {
        // 显示菜单
        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("0. 退出系统");
    }

    public abstract void chooseMenu(int choice);
}

教师信息管理系统类(TIMS.java)

import java.util.Scanner;

class TIMS extends SystemManage implements Initable, Exitable {
    private Teacher[] teachers;

    public TIMS(int size) {
        teachers = new Teacher[size];
    }

    public void init() {
        // 初始化教师信息
        teachers[0] = new Teacher("John Doe", 35, "Math Department");
        teachers[1] = new Teacher("Jane Smith", 40, "Science Department");
        // 添加更多的教师信息...
    }

    public void exit() {
        // 退出系统
        System.out.println("已退出教师信息管理系统");
    }

    @Override
    public void chooseMenu(int choice) {
        switch (choice) {
            case 1:
                addTeacher();
                break;
            case 2:
                modifyTeacher();
                break;
            case 3:
                deleteTeacher();
                break;
            case 4:
                displayAllTeachers();
                break;
            case 5:
                findTeacherByName();
                break;
            case 6:
                findTeachersByDepartment();
                break;
            case 0:
                exit();
                break;
            default:
                System.out.println("无效的选择");
        }
    }

    private void addTeacher() {
        // 实现增加教师信息的方法
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入教师姓名:");
        String name = scanner.nextLine();
        System.out.println("请输入教师年龄:");
        int age = scanner.nextInt();
        scanner.nextLine(); // 读取换行符
       

 System.out.println("请输入教师部门:");
        String dept = scanner.nextLine();

        Teacher teacher = new Teacher(name, age, dept);

        // 找到teachers数组中第一个为空的位置,将教师对象添加到该位置
        for (int i = 0; i < teachers.length; i++) {
            if (teachers[i] == null) {
                teachers[i] = teacher;
                System.out.println("教师信息添加成功!");
                return;
            }
        }
        System.out.println("教师信息添加失败,教师数组已满!");
    }

    private void modifyTeacher() {
        // 实现修改教师信息的方法
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要修改的教师姓名:");
        String name = scanner.nextLine();

        for (int i = 0; i < teachers.length; i++) {
            if (teachers[i] != null && teachers[i].getName().equals(name)) {
                System.out.println("请输入新的教师年龄:");
                int age = scanner.nextInt();
                scanner.nextLine(); // 读取换行符
                System.out.println("请输入新的教师部门:");
                String dept = scanner.nextLine();

                teachers[i].setAge(age);
                teachers[i].setDept(dept);
                System.out.println("教师信息修改成功!");
                return;
            }
        }
        System.out.println("未找到匹配的教师信息!");
    }

    private void deleteTeacher() {
        // 实现删除教师信息的方法
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要删除的教师姓名:");
        String name = scanner.nextLine();

        for (int i = 0; i < teachers.length; i++) {
            if (teachers[i] != null && teachers[i].getName().equals(name)) {
                teachers[i] = null;
                System.out.println("教师信息删除成功!");
                return;
            }
        }
        System.out.println("未找到匹配的教师信息!");
    }

    private void displayAllTeachers() {
        // 实现查看所有教师信息的方法
        for (Teacher teacher : teachers) {
            if (teacher != null) {
                teacher.intro();
                System.out.println("-------------------");
            }
        }
    }

    private void findTeacherByName() {
        // 实现用姓名查找教师信息的方法
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要查找的教师姓名:");
        String name = scanner.nextLine();

        for (Teacher teacher : teachers) {
            if (teacher != null && teacher.getName().equals(name)) {
                teacher.intro();
                return;
            }
        }
        System.out.println("未找到匹配的教师信息!");
    }

    private void findTeachersByDepartment() {
        // 实现用部门查找教师信息的方法
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入要查找的部门名称:");
        String dept = scanner.nextLine();

        boolean found = false;
        for (Teacher teacher : teachers) {
            if (teacher != null && teacher.getDept().equals(dept)) {
                teacher.intro();
                System.out.println("-------------------");
                found = true;
            }
        }
        if (!found) {
            System.out.println("未找到匹配的教

师信息!");
        }
    }
}

主程序(Main.java)

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        TIMS tims = new TIMS(100);
        tims.init();

        Scanner scanner = new Scanner(System.in);
        int choice;
        do {
            tims.showMenu();
            System.out.println("请输入您的选择:");
            choice = scanner.nextInt();
            scanner.nextLine(); // 读取换行符

            tims.chooseMenu(choice);
        } while (choice != 0);
    }
}

将以上代码分别保存到不同的文件中,然后编译并运行Main.java即可运行教师信息管理系统。确保在运行代码之前,已经安装了Java开发环境(JDK)并正确配置了环境变量。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值