简单的学生管理系统

1.定义一个类用于储存对象,比如创建了一个Person类,其中包含了要储存的一些属性,姓名,ID,性别,年龄
2.创建一个接口,里面定义一些简单的增删改查,并且写一个类去实现这些方法
3.创建一个用处理输入数据的类,对输入的内容进行简单的判断,符合条件才能去添加对象
4.通过两个不同的实例对象去分别管理学生跟老师
package studu01.Manager;

import java.util.List;

public interface Manager {
    List<Person> findAll();
    List<Integer> getAllID();
    Person findByID(int ID);
    void add(Person person);
    void delete(int ID);
    void update(int id,Person person);
}
package studu01.Manager;

import java.util.List;
import java.util.Scanner;

public class ManagerBean {
    private static final ManagerImpl manager = new ManagerImpl();
    private static final Scanner SC = new Scanner(System.in);

    public void add(){
        manager.add(creatPerson());
    }
    public void findAll(){
        List<Person> all = manager.findAll();
        if (all.size()!=0){
            System.out.println("\tID\t\t姓名\t\t性别\t\t年龄");
            for (Person s : all) {
                System.out.println(s);
            }
        }else {
            System.out.println("数据库暂无数据,请添加后再查询");
        }
    }


    public void findByID(){
        System.out.println("请输入要查找的id:");
        Person p = manager.findByID(SC.nextInt());
        if (p==null){
            System.out.println("数据库中暂时没有这个ID的人");
        }else {
            System.out.println("\tID\t\t姓名\t\t性别\t\t年龄");
            System.out.println(p);
        }
    }

    public void delete(){
        System.out.println("请输入要删除的人的ID:");
        manager.delete(SC.nextInt());
    }

    public void update(){
        System.out.println("请输入要修改的人的ID:");
        int id = SC.nextInt();
        manager.update(id,creatPerson());
    }


    private Person creatPerson(){
        System.out.println("请输入ID:");
        int id = SC.nextInt();
        while (idCheck(id)){
            id = SC.nextInt();
        }
        System.out.println("请输入姓名:");
        String name = SC.next();
        while (nameCheck(name)){
            name = SC.next();
        }
        System.out.println("请输入性别:");
        String sex = SC.next();
        while (sexCheck(sex)) {
            sex = SC.next();
        }
        System.out.println("请输入年龄:");
        int tempAge = SC.nextInt();
        int age;
        while (tempAge>40||tempAge<6){
            System.out.println("年龄输入错误,请重新输入:");
            tempAge = SC.nextInt();
        }
        age = tempAge;
        return new Person(id, name, sex.equals("男"), age);
    }

    private boolean idCheck(int id){
        List<Integer> list = manager.getAllID();
        for (Integer integer : list) {
            if (integer.equals(id)) {
                System.out.println("ID重复,请重新输入:");
                return true;
            }
        }
        return false;
    }

    private boolean nameCheck(String name){
        if (name.length()>4||name.length()<1) {
            System.out.println("姓名不能超过四位或小于一位,请重新输入:");
            return true;
        }
        return false;
    }

    private boolean sexCheck(String tempSex){
        if ((!tempSex.equals("男"))&&(!tempSex.equals("女"))) {
            System.out.println("性别输入错误,请重新输入:");
            return true;
        }
        return false;
    }
}
package studu01.Manager;

import java.util.ArrayList;
import java.util.List;

public class ManagerImpl implements Manager{

    ArrayList<Person> list = new ArrayList<>();
    ArrayList<Integer> idList = new ArrayList<>();


    @Override
    public List<Person> findAll() {
        return list;
    }


    @Override
    public List<Integer> getAllID() {
        for (Person person : list) {
            idList.add(person.getID());
        }
        return idList;
    }


    @Override
    public Person findByID(int id) {
        for (Person person : list) {
            if (person.equals(id)) {
                return person;
            }
        }
        return null;
    }


    @Override
    public void add(Person person) {
        list.add(person);
        System.out.println("添加成功");
    }


    @Override
    public void delete(int id) {
        for (int i = 0; i < list.size(); i++) {
            if (list.get(i).equals(id)){
                list.remove(i);
                System.out.println("删除成功");
                return;
            }
        }
        System.out.println("未找到,删除失败");
    }


    @Override
    public void update(int id,Person person) {
        for (int i = 0; i < list.size(); i++) {
            if (list.get(i).equals(id)){
                list.set(i, person);
                System.out.println("修改成功");
                return;
            }
        }
        System.out.println("未找到,修改失败");
    }

}
package studu01.Manager;

public class Person {
    private  int ID;
    private String name;
    private boolean sex;
    private int age;

    public Person(int ID, String name, boolean sex, int age) {
        this.ID = ID;
        this.name = name;
        this.sex = sex;
        this.age = age;
    }


    public int getID() {
        return ID;
    }


    public String getName() {
        return name;
    }


    public boolean isSex() {
        return sex;
    }


    public int getAge() {
        return age;
    }


    public String toString() {
        return "\t"+this.getID()+"    "+this.getName()+"     "+
                (this.isSex()?"男":"女")+"      "+this.getAge();
    }

//    public boolean equals(Person p) {
//        return this.ID == p.ID;
//    }
    public boolean equals(int ID) {
        return this.ID == ID;
    }
}
package studu01;

import studu01.Manager.ManagerBean;

import java.util.Scanner;

public class Test {
    private static final ManagerBean stuBean = new ManagerBean();
    private static final ManagerBean teacherBean = new ManagerBean();
    private static final Scanner scanner = new Scanner(System.in);
    public static void main(String[] args) {
        boolean exit1 = false;
        Test t = new Test();
        while (!exit1){
            System.out.println("1.学生管理系统\n2.老师管理系统\n3.显示老师学生\n4.退出管理系统");
            int next1 = scanner.nextInt();
            switch (next1){
                case 1:
                    System.out.println("学生管理系统");
                    Test.stuBean();
                    break;
                case 2:
                    System.out.println("老师管理系统");
                    t.teacherBean();
                    break;
                case 3:
                    System.out.println("显示老师学生");
                    System.out.println("---------学生----------");
                    stuBean.findAll();
                    System.out.println("---------老师----------");
                    teacherBean.findAll();
                    break;
                case 4:
                    System.out.println("退出管理系统");
                    exit1 = true;
                    break;
                default:
                    System.out.println("输入错误");
            }
        }


    }
    private static void stuBean(){
        boolean exit2 = false;
        while (!exit2){
            System.out.println("1.显示所有学生\n2.通过ID查找学生\n3.添加学生\n4.删除学生\n5.修改学生\n6.退出学生管理系统");
            int next2 = scanner.nextInt();
            switch (next2){
                case 1:
                    System.out.println("查找所有学生");
                    stuBean.findAll();
                    break;
                case 2:
                    System.out.println("通过ID查找学生");
                    stuBean.findByID();
                    break;
                case 3:
                    System.out.println("添加学生");
                    stuBean.add();
                    break;
                case 4:
                    System.out.println("删除学生");
                    stuBean.delete();
                    break;
                case 5:
                    System.out.println("修改学生");
                    stuBean.update();
                    break;
                case 6:
                    System.out.println("退出学生管理系统");
                    exit2 = true;
                    break;
                default:
                    System.out.println("输入错误");
            }
        }
    }

    private void teacherBean(){
        boolean exit3 = false;
        while (!exit3){
            System.out.println("1.显示所有老师\n2.通过ID查找老师\n3.添加老师\n4.删除老师\n5.修改老师\n6.退出老师管理系统");
            int next3 = scanner.nextInt();
            switch (next3){
                case 1:
                    System.out.println("查找所有老师");
                    teacherBean.findAll();
                    break;
                case 2:
                    System.out.println("通过ID查找老师");
                    teacherBean.findByID();
                    break;
                case 3:
                    System.out.println("添加老师");
                    teacherBean.add();
                    break;
                case 4:
                    System.out.println("删除老师");
                    teacherBean.delete();
                    break;
                case 5:
                    System.out.println("修改老师");
                    teacherBean.update();
                    break;
                case 6:
                    System.out.println("退出老师管理系统");
                    exit3 = true;
                    break;
                default:
                    System.out.println("输入错误");
            }
        }
    }

}

 

posted @ 2021-03-09 18:53  温柔Rarry  阅读(157)  评论(0)    收藏  举报