学生管理系统

学生管理系统

一:案例需求:
针对目前我们的所学内容,完成一个综合案例:

学生管理系统!该系统主要功能如下:
(1)添加学生:通过键盘录入学生信息,将该学生添加到集合中
(2)删除学生:通过键盘录入学生的学号,将该学生从集合中删除
(3)修改学生:通过键盘录入学生的学号,将该学生其他信息进行修改
(4)查看学生:将集合中的所有学生信息进行展示
(5)退出系统:结束程序

二:实现步骤:

  1. 定义学生类,包含以下成员变量
    学生类:
    Student成员变量:属性私有化,提供公共的访问方式
    学号:sid String
    姓名:name String
    年龄:age String
    地址:address String
    构造方法:
    空参构造
    有参构造

  2. 学生管理系统主界面的搭建
    主界面内容举例:
    ***** 欢迎来到学生管理系统 *****
    请录入您要进行的操作:
    1、添加学生信息
    2、删除学生信息
    3、修改学生信息
    4、查看学生信息
    5、退出当前系统
    要求:输入对应的序号,进行对应的功能实现,实现之后,需要再次提示录入,进行下 次操作,直到录入5,退出系统才结束整个操作。

  3. 学生管理系统的添加学生功能实现步骤
    3.1 用键盘录入选择添加学生
    3.2 定义一个方法,用于添加学生
    注意:
    (1)要求添加学生的学号、姓名、年龄、地址
    (2)添加的学号不能重复,如果重复提示学号已有,重新录入
    (3)录入之后,将学生添加到集合中
    (3)添加成功后,提示添加成功,继续下次操作

  4. 学生管理系统的查看学生功能实现步骤
    4.1 录入对应序号,查看所有的学生的信息
    4.2 定义一个方法,用于展示集合中所有学生信息

  5. 学生管理系统的删除学生功能实现步骤
    5.1 录入对应序号,进行删除功能
    5.2 用键盘录入学号选择删除哪一个学生信息(根据学号删除)
    5.2 定义一个方法,用于删除学生信息
    注意:
    (1)键盘录入要删除的学生学号
    如果该学生存在,则删除,之后提示删除成功
    如果学生不存在,提示没有该学生,重新进行删除操作
    (2)删除之后,提示成功,然后进行下次操作

  6. 学生管理系统的修改学生功能实现步骤
    6.1 录入对应序号,进行修改功能
    6.2 用键盘录入学号,选择修改哪一个学生信息(根据学号修改)
    6.2 定义一个方法,用于修改学生信息
    注意:
    (1)键盘录入要修改的学生学号
    如果存在该学生则将该学生除学号外的其他信息进行修改
    如果不存在该学生则提示没有此人,重新进行修改操作
    (3)修改之后,提示成功,然后进行下次操作

代码实现

import java.util.ArrayList;
import java.util.Scanner;

public class StuManagement {
    static Scanner sc = new Scanner(System.in);
    static ArrayList<Student> list = new ArrayList<>();
    public static void main(String[] args) {
        System.out.println("*******欢迎来到天上人间学生管理系统*******");
        while(true){
            System.out.println("请录入序号,进行对应的服务");
            System.out.println("1、添加学生信息");
            System.out.println("2、删除学生信息");
            System.out.println("3、修改学生信息");
            System.out.println("4、查看学生信息");
            System.out.println("5、退出系统");
            String x = sc.nextLine();
            switch(x){
                case "1":
                    addStu();
                    break;
            case "2":
                removeStu();
                break;
            case "3":
                alterStu();
                break;
             case "4":
                checkStu();
                break;
             case "5":
                    System.out.println("欢迎下次使用!!");
                    System.exit(0);
            }
        }
    }
    private static void removeStu() {
        System.out.println("请录入您要删除的学生学号:");
        String id = sc.nextLine();
        for(int i = 0;i <= list.size()-1;i++){
            Student stu = list.get(i);
            String sid = stu.getSid();
            if(id.equals(sid)){
                list.remove(stu);
                System.out.println("该学生删除成功!!!");
                return;
            }
        }
        System.out.println("学校没有该学生!");
        System.out.println("请重新操作!");
    }

    private static void alterStu() {
        System.out.println("请录入要修改学生的学号:");
        String id = sc.nextLine();
        for(int i = 0;i <= list.size()-1;i++){
            Student stu = list.get(i);
            String sid = stu.getSid();
            if(id.equals(sid)){
                System.out.println("请录入新的姓名:");
                String newname = sc.nextLine();
                System.out.println("请录入新的年龄:");
                String newage = sc.nextLine();
                System.out.println("请录入新的地址:");
                String newaddress = sc.nextLine();
                stu.setSname(newname);
                stu.setSage(newage);
                stu.setSaddress(newaddress);
                System.out.println("信息修改成功!!!");
                return;
            }
        }
        System.out.println("该学校没有该学生!!!");
        System.out.println("请重新操作!!!");
    }

    private static void checkStu() {
        System.out.println("学生的信息如下:");
        System.out.println("学号" + "\t" + "姓名" + "\t" + "年龄" + "\t" + "地址");
        for(Student stu:list){
            System.out.println(stu.getSid() + "\t" + stu.getSname() + "\t" + stu.getSage() + "\t" + stu.getSaddress());
        }
    }

    private static void addStu() {
        System.out.println("请添加一个学生信息");
        System.out.println("请录入学生的学号:");
        String id = null;
        while(true){
            int count = 0;
            id = sc.nextLine();
            //录入学号之后,需要判断该学号是否已经存在
            //如果没有存在就继续录入后面的信息
            //如果该学号存在,提示有该学号,重新录入
            for(int i = 0;i <= list.size()-1;i++){
                Student stu = list.get(i);
                String sid = stu.getSid();
                if(sid.equals(id)){
                    System.out.println("该学号已经存在,请重新录入");
                    count++;
                }
            }
            //如果循环结束后,没有一次相等,就结束死循环
            if(count == 0){
                break;
            }
        }
        System.out.println("请录入学生的姓名:");
        String name = sc.nextLine();
        System.out.println("请录入学生的年龄:");
        String age = sc.nextLine();
        System.out.println("请录入学生的地址:");
        String address = sc.nextLine();
        Student s = new Student(id,name,age,address);
        list.add(s);
        System.out.println("学生添加成功!!!");
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为实现用户需求,从需求分析阶段的数据流图出发,根据小组讨论后确定的最佳方案。本系统主要包括两大功能模块:学生信息和成绩信息两个系统。其中学生信息系统划分为七个模块,学生成绩划分为四个模块。然后在需求分析阶段所确定的系统数据需求的基础上,进一步设计数据结构。在测试过程中,先对单个模块进行测试,然后把模块连接起来进行测试。测试完成后书写文档,最后小组成员和用户在一块审查和复审。 1、 课题陈述 一方面,在时下这个飞速发展的信息社会中,直到今天仍然没有一套完善可行的学生信息管理系统出现在学校里。每年,从大专生、本科生到硕士生、博士生,几千人的入学、升学、毕业,全要由教务处和各系老师人工管理。信息量之巨大,工作量之繁重,是难以想象的。因此,学校和各个系都要安排多名教师专门负责学生学籍管理,浪费了大量的人力资源。然而,即使这样,管理仍然谈不上井井有条。举一个最简单的真实例子,一个同学的姓名在花名册里印错了,就一错错了三年,一直没能改正。同学想去改,却不知道是应该找系里,还是去找教务处。还有,当学生的基本信息,比如家庭住址、电话等变更后,无法及时在档案中修改,使得老师与同学无法联系沟通。 另一方面,从社会这方面讲,随着计算机的普及,越来越多的学校利用计算机来处理日常事务。面对众多的数据资料,很多管理者常常感到无从下手。在数字化的今天,我们需要一个学生管理系统,使我们的整体管理水平上一个档次,与如今这个高科技的信息社会接轨。 因此,如何有效的管理学生信息,帮助学校和老师管理和掌握这些情况,这就是学生信息管理系统需要完成的任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值