阶段二11_面向对象高级_学生管理系统案例3
创始人
2024-05-29 16:57:11

主要功能:

完成学生信息添加,修改和删除功能。

一.查看学生

思路:
图片:5_查看学生思路图.png
在这里插入图片描述

代码:
StudentController[客服类中]

//查找学生
private void findAllStudent() {//1.方法内部创建StudentService业务员对象//2.调用业务员对象中的findAllStudent方法,得到学生数组Student[] stu_s = studentService.findAllStudent();//3.不为null,遍历数组,打印学生信息//4.判断数组地址是否为null,是的话,提示查无信息if(stu_s != null){System.out.println("学号\t\t姓名\t年龄\t生日");for (int i = 0; i if(stu_s[i] != null){System.out.println(stu_s[i].getId()+"\t\t"+stu_s[i].getName()+"\t"+stu_s[i].getAge()+"\t"+stu_s[i].getBirthday());}}}else{System.out.println("查无信息");}
}

StudentService[业务员]

  public Student[] findAllStudent() {//1.从StudentDao中获取存储学生对象的数组,调用内部findAllStudent方法.Student[] stu_s = studentDao.findAllStudent();//2.判断学生数组中是否有数据 有:返回数组地址 无:返回nullfor (int i = 0; i < stu_s.length ; i++) {if(stu_s[i] != null){ //只有有一个学生信息就表示有return stu_s;}}return null;}

StudentDao[库管]

//1.直接返回全部学生对象
public Student[] findAll() {return students;
}

二.修改学生

思路:
6_修改学生思路图.png
在这里插入图片描述

代码:
StudentController[客服类中]

 public void updateStudent() {String updId;//2.调用StudentService业务员对象中的isExists方法,判断学号是否存在,不存在则继续录入while (true) {//1. 接收用户要修改的学生idSystem.out.println("请输入学生id");updId= sc.next();boolean flag = studentService.isExists(updId);if(flag){break;}else{System.out.println("学生学号,不存在请重输入");}}//3.录入新的学生信息,封装为学生对象System.out.println("请输入学号:");String stuId= sc.next();System.out.println("请输入姓名:");String name= sc.next();System.out.println("请输入年龄:");String age= sc.next();System.out.println("请输入生日:");String birthday= sc.next();Student newStu = new Student();newStu.setId(stuId);newStu.setAge(age);newStu.setName(name);newStu.setBirthday(birthday);//4. 调用StudentService业务员对象中的updateStudent方法,修改学生,并提示修改成功studentService.updateStudent(updId,newStu);}

StudentService[业务员]

 public void updateStudent(String updId, Student newStu) {// 调用StudentDao中的updateStudent方法,将参数传入。studentDao.updateStudent( updId,  newStu);}

StudentDao[库管]

 public void updateStudent(String updId, Student newStu) {//1.查找学生id,在数组中所在的索引位置int index = getIndex( updId);//2.将该索引位置的学生对象,使用新的学生对象进行替换students[index] = newStu; //因为前面判断过是否存在,所有到这边肯定是存在的}//查找学生id,在数组中所在的索引位置public int getIndex(String stuId){int index = -1;for (int i = 0; i if(students[i]!=null && stuId.equals(students[i].getId())){index = i;}}return index;}

三.删除学生

思路:
7_删除学生思路图.png
在这里插入图片描述

代码:
StudentController[客服类中]

public void deleteStudentById() {String delId;//2.调用StudentService业务员对象中的isExists方法,判断学号是否存在,不存在则继续录入while (true) {//1.接收用户要删除的学生idSystem.out.println("请输入学生id");delId= sc.next();boolean flag = studentService.isExists(delId);if(flag){break;}else{System.out.println("学生学号,不存在请重输入");}}//3.调用StudentService业务员对象中的deleteStudentById方法,根据id删除学生,并提示删除成功studentService.deleteStudentById(delId);System.out.println("删除成功");
}

StudentService[业务员]

   public void deleteStudentById(String delId) {// 调用StudentDao中的deleteStudentById方法删除学生studentDao.deleteStudentById( delId);}

StudentDao[库管]

public void deleteStudentById(String delId) {
//1.查找学生id,在数组中所在的索引位置
int index = getIndex(delId);
//2.将该索引位置的学生对象,使用null进行替换
students[index] = null;
}

完成老师菜单中的增删改查功能

功能和需求学生菜单一样
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

操作有问题请查看源码下载地址
http://www.gxcode.top/code
在这里插入图片描述

相关内容

热门资讯

27家!废止!福州仓山区教育局... 福州市仓山区教育局公告,27家民办机构办学许可证被废止。 根据《中华人民共和国民办教育促进法》...
《长江画传》新书发布,展现中国... 日前,《长江画传》新书发布暨“国家文化公园画传系列”出版座谈会在北京举行,这也代表着“国家文化公园画...
委政府驳斥美国关于委局势“不安... 据新华社加拉加斯1月10日电 委内瑞拉政府10日发表声明说,美国关于委局势“不安全”的说法不属实。声...
互动科学秀《疯狂实验室》在乌鲁... 1月10日晚,新疆乌鲁木齐市,沉浸式儿童剧——互动科学秀《疯狂实验室》在新疆人民剧场演出,悬浮沙滩球...
前谷歌、苹果研究员为New V...   资深人工智能研究员Andrew Dai表示,在谷歌DeepMind任职14年后,他近期已离职并将...