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

主要功能:

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

一.查看学生

思路:
图片: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
在这里插入图片描述

相关内容

热门资讯

北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...