主要功能:
完成学生信息添加,修改和删除功能。
一.查看学生
思路:
图片: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 <stu_s.length ; 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.判断学生数组中是否有数据 有:返回数组地址 无:返回null
for (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. 接收用户要修改的学生id
System.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 <students.length ; 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.接收用户要删除的学生id
System.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