用三层架构思想写学生管理系统

在这里插入图片描述
Student 类: 标准学生类,封装键盘录入的学生信息(id , name , age , birthday)
StudentDao 类: Dao : (Data Access Object 缩写) 用于访问存储数据的数组或集合
StudentService 类: 用来进行业务逻辑的处理(例如:判断录入的id是否存在)
StudentController 类: 和用户打交道(接收用户需求,采集用户信息,打印数据到控制台)
InfoManagerEntry 类: 程序的入口(进入到学生管理系统)

Student 类
public class Student {
private String id;
private String name;
private String age;
private String birthday;

public Student() {
}

public Student(String id, String name, String age, String birthday) {
    this.id = id;
    this.name = name;
    this.age = age;
    this.birthday = birthday;
}

public String getId() {
    return id;
}

public void setId(String id) {
    this.id = id;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getAge() {
    return age;
}

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

public String getBirthday() {
    return birthday;
}

public void setBirthday(String birthday) {
    this.birthday = birthday;
}

}

StudentController 类
public class StudentCotroller {
static StudentService studentService = new StudentService();

public void start() {
    Scanner sc = new Scanner(System.in);
    String id;
    while (true) {
        System.out.println("----------------欢迎来到<学生>信息管理系统----------------");
        System.out.println("请输入您的选择 1.添加 2.删除 3.修改 4.查询 5.退出");
        String choice = sc.next();
        switch (choice) {
            case "1":
                StudentAdd(sc);
                break;
            case "2":
                delete(sc);
                break;
            case "3":
                update(sc);
                break;
            case "4":
                select();
                break;
            case "5":
                return;
            default:
                System.out.println("您输入的有误,请重新输入");
                break;
        }
    }
}

private void delete(Scanner sc) {
    String id;
    while (true){
        System.out.println("请输入学号");
        id = sc.next();
        boolean flag = studentService.isExit(id);
        if (flag){
            break;
        }else{
            System.out.println("您输入的学号不存在,请重新输入");
        }
    }
    boolean flag = studentService.delete(id);
    if (flag){
        System.out.println("删除成功");
        return;
    }else {
        System.out.println("删除失败");
    }
}

private void update(Scanner sc) {
    String id;
    while (true) {
        System.out.println("请输入学号");
        id = sc.next();
        boolean exit = studentService.isExit(id);
        if (exit) {
            break;
        } else {
            System.out.println("您输入的学号不存在,请重新输入");
        }
    }
    System.out.println("请输入姓名");
    String name = sc.next();
    System.out.println("请输入年龄");
    String age = sc.next();
    System.out.println("请输入生日");
    String bir = sc.next();
    boolean flag = studentService.update(id, name, age, bir);
    if (flag) {
        System.out.println("修改成功");
        return;
    } else {
        System.out.println("修改失败");
        return;
    }
}

private void select() {
    Student[] student = studentService.select();
    System.out.println("--------------------查询结果如下--------------------");
    for (int i = 0; i < student.length; i++) {
        if (student[i] != null) {
            System.out.println("学号:" + student[i].getId() + " 姓名:" + student[i].getName() + " 年龄:" + student[i].getAge() + " 生日:" + student[i].getBirthday());
        }
    }
    System.out.println("----------------------------------------------------");
}

private void StudentAdd(Scanner sc) {
    String id;
    while (true) {
        System.out.println("请输入学号");
        id = sc.next();
        boolean isExit = studentService.isExit(id);
        if (isExit) {
            System.out.println("您输入的学号已被占用,请重新输入");
        } else {
            break;
        }
    }
    System.out.println("请输入姓名");
    String name = sc.next();
    System.out.println("请输入年龄");
    String age = sc.next();
    System.out.println("请输入生日");
    String bir = sc.next();
    Student student = new Student(id, name, age, bir);
    boolean flag = studentService.add(student);
    if (flag){
        System.out.println("添加成功");
    }else{
        System.out.println("添加失败");
    }
}

}

StudentService 类
public class StudentService {
static StudentDao studentDao = new StudentDao();

public boolean isExit(String id) {
    return studentDao.isExit(id);
}

public boolean add(Student student) {
    return studentDao.add(student);
}

public Student[] select() {
    return studentDao.select();
}

public boolean update(String id, String name, String age, String bir) {
    return studentDao.update(id,name,age,bir);
}

public boolean delete(String id) {
    return studentDao.delete(id);
}

}

StudentDao 类
public class StudentDao {
static Student[] students = new Student[5];

public boolean isExit(String id) {
    for (int i = 0; i < students.length; i++) {
        if (students[i]!=null){
            if (students[i].getId().equals(id)){
                return true;
            }
        }
    }
    return false;
}

public boolean add(Student student) {
    int index = -1;
    for (int i = 0; i < students.length; i++) {
        if (students[i] == null){
            index = i;
            break;
        }
    }
    if (index == -1){
        return false;
    }else {
        students[index] = student;
        return true;
    }
}

public Student[] select() {
    return students;
}

public boolean update(String id, String name, String age, String bir) {
    for (int i = 0; i < students.length; i++) {
        if (students[i]!=null){
            if (students[i].getId().equals(id)){
                students[i].setName(name);
                students[i].setAge(age);
                students[i].setBirthday(bir);
                return true;
            }
        }
    }
    return false;
}

public boolean delete(String id) {
    for (int i = 0; i < students.length; i++) {
        if (students[i]!=null){
            if (students[i].getId().equals(id)){
                students[i] = null;
                return true;
            }
        }
    }
    return false;
}

}

InfoManagerEntry 类
public class InfoManagerEntry {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(true){
System.out.println("----------------欢迎来到<工商学院>信息管理系统----------------");
System.out.println(“请输入您的选择 1.学生 2.退出”);
String choice = sc.next();
switch (choice){
case “1”:
StudentCotroller studentCotroller = new StudentCotroller();
studentCotroller.start();
break;
case “2”:
System.out.println(“感谢您的使用!”);
System.exit(0);
default:
System.out.println(“您输入的有误,请重新输入”);
break;
}
}
}
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值