阶段二11_面向对象高级_学生管理系统案例1

说明:学生管理系统案例需求和步骤1请查看上一张《阶段二10_面向对象高级_分类分包思想》

一.学生管理系统案例

步骤2:搭建主菜单和学生管理系统菜单

(0).主菜单和学习菜单界面和思路
界面:
--------欢迎来到信息管理系统--------
请输入您的选择: 1.学生管理 2.老师管理 3.退出
--------欢迎来到 <学生> 管理系统--------
请输入您的选择: 1.添加学生 2.删除学生 3.修改学生 4.查看学生 5.退出
思路:
用输出语句完成主界面的编写
用Scanner实现键盘录入数据
用switch语句完成操作的选择
(1).主菜单代码[InfoManagerEntry(程序的入口类提供一个main方法)]

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    while (true) {
        System.out.println("--------欢迎来到信息管理系统--------");
        System.out.println("请输入您的选择: 1.学生管理  2.老师管理  3.退出");
        String c = sc.next();
        switch (c) {
            case "1":
                //System.out.println("学生管理");
                //开启学生管理系统
                StudentController studentController = new StudentController();
                studentController.start();
                break;
            case "2":
                System.out.println("老师管理");
                break;
            case "3":
                System.out.println("欢迎下次再次使用信息管理系统,再见。");
                System.exit(0); //退出当前程序的jvm平台
                break;
            default:
                System.out.println("输入有误,请重新输入");
                break;
        }
    }
}

(2).学生管理系统菜单代码[StudentController(和用户打交道客服接待)]

 //1.开启学生管理系统并输出对应的菜单
    public void start() {
        Scanner sc = new Scanner(System.in);
       studentLoop:
       while (true) {
            System.out.println("--------欢迎来到 <学生> 管理系统--------");
            System.out.println("请输入您的选择: 1.添加学生  2.删除学生  3.修改学生  4.查看学生  5.退出");
            String c = sc.next();
            switch (c) {
                case "1":
                    System.out.println("添加学生");
                    break;
                case "2":
                    System.out.println("删除学生");
                    break;
                case "3":
                    System.out.println("修改学生");
                    break;
                case "4":
                    System.out.println("查看学生");
                    break;
                case "5":
                    System.out.println("退出学生管理系统");
                    break studentLoop;
                default:
                    System.out.println("输入有误,请重新输入");
                    break;
            }
        }
    }

步骤3:基本添加功能-思路分析

1_基本添加功能-思路分析.png
在这里插入图片描述

步骤4:基本添加功能-代码实现

1.在客户类[StudentController]中接受学生信息并封装对象

 public void addStudent() {
        //1.输入学生信息提示和获取学生信息
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入学生id:");
        String id = sc.next();
        System.out.println("请输入学生姓名:");
        String name = sc.next();
        System.out.println("请输入学生年龄:");
        String age = sc.next();
        System.out.println("请输入学生生日:");
        String birthday = sc.next();
        //2.把学生信息封装对象
        Student student = new Student(id,name,age,birthday);
        //3.把学生信息传给业务员添加方法处理,并返回处理结果
        StudentService  studentService = new StudentService();
        boolean bole = studentService.addStudent(student);
        //根据处理结果,提示添加成功或失败
        if(bole){
            System.out.println("添加成功");
        }else{
            System.out.println("添加失败");
        }
    }

2.在业务类[StudentService]接受客户类传递的学生对象并提交给库管

 public boolean addStudent(Student student) {
        //1.接受学生对象并传给库管处理
        StudentDao studentDao = new StudentDao();
        boolean bol = studentDao.addStudent(student);
        //根据库管处理的结果返回给客户
        return bol;
    }

3.库管类[],根据业务类传递过来得学生对象进行添加操作

 public boolean addStudent(Student student) {
        //1.创建存放学生数组对象,长度为5
        Student[] students = new Student[5];
        //2.把学生对象存放到数组中
        //2.1 获取存放的数组索引位置
        int index = -1;
        for (int i = 0; i < students.length; i++) {
            //2.2 如果对象数组有null,表示找到存在的索引
            if(students[i] == null){
                //2.3 记录索引位置
                index = i;
                //2.4 接受本次查找
                break;
            }
        }
        //3.根据存放的结果返回给业务员
        if(index==-1){
            //3.1表示学生数组对象已放满,添加失败
            return  false;
        }else{
            //3.2 没有满可以添加学生,添加成功
            students[index] = student;
            return  true;
        }
    }
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,我可以为您介绍如何使用 Python 制作一个简易的学生信息管理系统。这个系统将使用面向对象编程的方式实现,可以方便地添加、删除和修改学生信息。 首先,我们需要定义一个 `Student` 类,用来表示学生信息。每个学生都有姓名、学号、年龄等基本信息,可以使用类的属性来表示: ```python class Student: def __init__(self, name, student_id, age): self.name = name self.student_id = student_id self.age = age ``` 在 `__init__` 方法中,我们定义了三个属性,分别对应学生的姓名、学号和年龄。接下来,我们需要添加一些方法,来实现学生信息的添加、删除和修改: ```python class Student: def __init__(self, name, student_id, age): self.name = name self.student_id = student_id self.age = age def get_name(self): return self.name def set_name(self, name): self.name = name def get_student_id(self): return self.student_id def set_student_id(self, student_id): self.student_id = student_id def get_age(self): return self.age def set_age(self, age): self.age = age ``` 在上面的代码中,我们定义了六个方法,分别对应获取和设置学生的姓名、学号和年龄。这些方法可以方便地对学生信息进行修改。 接下来,我们可以创建一个 `StudentManager` 类,用来管理所有的学生信息。这个类包含了一个学生列表,可以添加、删除和修改学生信息: ```python class StudentManager: def __init__(self): self.students = [] def add_student(self, student): self.students.append(student) def remove_student(self, student): self.students.remove(student) def get_all_students(self): return self.students def search_student_by_id(self, student_id): for student in self.students: if student.get_student_id() == student_id: return student return None ``` 在上面的代码中,我们定义了四个方法,分别对应添加、删除、获取所有学生和根据学号查找学生。这些方法可以方便地对学生信息进行管理。 现在,我们可以创建一个 `main` 函数,来实现学生信息管理系统的基本功能: ```python def main(): manager = StudentManager() # 添加学生 student1 = Student('张三', '001', 18) manager.add_student(student1) student2 = Student('李四', '002', 19) manager.add_student(student2) student3 = Student('王五', '003', 20) manager.add_student(student3) # 查找学生 s = manager.search_student_by_id('001') print(s.get_name(), s.get_student_id(), s.get_age()) # 修改学生信息 s.set_name('赵六') s.set_age(21) # 删除学生 manager.remove_student(student3) # 打印所有学生信息 students = manager.get_all_students() for student in students: print(student.get_name(), student.get_student_id(), student.get_age()) ``` 在上面的代码中,我们首先创建了一个 `StudentManager` 对象,并添加了三个学生。然后,我们使用 `search_student_by_id` 方法查找学号为 '001' 的学生,并打印出其姓名、学号和年龄。接着,我们使用 `set_name` 和 `set_age` 方法修改了该学生的姓名和年龄。然后,我们使用 `remove_student` 方法删除了一个学生。最后,我们使用 `get_all_students` 方法获取所有学生信息,并打印出来。 这样,一个简易的学生信息管理系统就完成了。您可以根据自己的需求,继续添加其他功能,如文件读写、GUI 界面等。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java之书

会持续更新实用好的文章谢谢关注

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值