Java超详细教你写一个学籍管理系统案例

 更新时间:2022年03月29日 10:45:51   作者:不爱生姜不吃醋  
这篇文章主要介绍了怎么用Java来写一个学籍管理系统,学籍管理主要涉及到学生信息的增删查改,本篇将详细的实现,感兴趣的朋友跟随文章往下看看吧

前言

学籍管理系统是一个教育单位不可缺少的部分,它的内容对于学校的领导人和管理者来说都至关重要,有助于提高整个学校的教育水平和管理水平,减少人力资源的浪费,适应大量的学生信息变更。 本文所写的学籍管理系统实现了学籍管理系统的主要功能,大家的小学期程序设计能用到的话,可以参考一下哦!当然啦,也可以在此基础上不断完善!

一、学籍管理系统功能介绍

1.介绍

学籍管理系统首先有外部的主界面展示功能,进入主界面后可以选择想要的操作,如添加学生信息、修改学生信息、查找学生信息、删除学生信息、查看学生信息和退出系统操作。

2.学籍管理系统的主要功能图示

学籍管理系统的功能

3.代码编写的思路

  • 3.1 定义学生类
  • 3.2 主界面的代码编写
  • 3.3 添加学生的代码编写
  • 3.4 查看学生的代码编写
  • 3.5 删除学生的代码编写
  • 3.6 修改学生的代码编写

二、定义学生类

1.学生类名称:

Student

2.包含的成员变量

  • 学号:num
  • 姓名:name
  • 年龄:age
  • 地址:address

3.构造方法

无参构造

带四个参数的构造

4.成员方法

每个成员变量给出对应的get/set方法

5.代码示例

public class Student {
    private String num;//学生学号
    private String name;//学生姓名
    private String age;//学生年龄
    private String address;//学生地址

    public Student() {
    }//无参构造

    public Student(String num, String name, String age, String address) {
        this.num = num;
        this.name = name;
        this.age = age;
        this.address = address;
    }//带四个参数的构造

    public String getNum() {
        return num;
    }

    public void setNum(String num) {
        this.num = num;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

三、主界面的代码编写

1.思路

  • 新建一个主类(Studentdemo)
  • 用输出语句完成主界面的编写
  • Scanner实现键盘录入数据
  • switch语句完成操作的选择
  • 用循环完成再次回到主界面
  • 循环之中包含添加、查找、删除、修改的方法

2.代码示例

主类:主界面的编写

public class Studentdemo {
    public static void main(String[] args){
        ArrayList<Student> array=new ArrayList<>();
        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.退出");
            System.out.println("请选择你需要的操作:");

            Scanner sc = new Scanner(System.in);
            String line = sc.nextLine();

            switch (line) {
                case "1":
                   //**此处调用“添加学生方法”**
                    break;
                case "2":
                    //**此处调用“删除学生方法”**
                    break;
                case "3":
                    //**此处调用“修改学生方法”**
                    break;
                case "4":
                    //**此处调用“查找学生方法”**
                    break;
                case "5":
                    System.out.println("谢谢使用!");
                    System.exit(0);
            }
        }
    }
}

四、系统功能方法的实现

1.添加学生信息的代码编写

1.1 思路

键盘录入选择添加学生;

定义一个方法用于添加学生;

  • 显示提示信息
  • 键盘录入学生对象信息所需要的数据
  • 创建学生对象,将录入的数据赋值给学生对象的成员变量
  • 将学生对象添加到集合中
  • 给出添加成功提示

调用方法

1.2 添加学生信息的方法说明图

添加学生信息的方法说明图

1.3 代码示例

添加学生方法

    public static void Addstudent(ArrayList<Student> array){
        // 定义一个方法用于添加学生;
        Scanner sc=new Scanner(System.in);

        System.out.print("请输入学生学号:");
        String num=sc.nextLine();
        System.out.print("请输入学生姓名:");
        String name=sc.nextLine();
        System.out.print("请输入学生年龄:");
        String age=sc.nextLine();
        System.out.print("请输入学生地址:");
        String address=sc.nextLine();

        //创建学生对象,将键盘录入的数据赋值给学生对象的成员变量
        Student s=new Student();
        s.setNum(num);
        s.setName(name);
        s.setAge(age);
        s.setAddress(address);

        //将学生对象添加到集合中
        array.add(s);

        //给出添加成功提示
        System.out.println("添加学生成功!");
        }

添加学生方法代码写完后,注意要在main方法中调用:Addstudent(array);

2.查看学生信息的代码编写

2.1 思路

键盘录入选择查看所有学生信息;

定义一个方法,用于查看学生信息;

  • 显示表头信息
  • 将集合中数据取出按照对应格式显示学生信息

调用方法。

2.2 查看学生信息的方法说明图

查看学生的方法说明图

2.3 代码示例

查看学生方法

    // 定义一个方法,用于查看学生信息;
    public static void Findallstudent(ArrayList<Student> array){
        if(array.size()==0){
            System.out.println("无信息!");
            return;
        }
        // 显示表头信息
        // 将集合中数据取出按照对应格式显示学生信息
         for(int i=0;i<array.size();i++){
             Student s=array.get(i);
             System.out.println("学号:"+s.getNum());
             System.out.println("姓名:"+s.getName());
             System.out.println("年龄:"+s.getAge());
             System.out.println("地址:"+s.getAddress());
             System.out.println("  ");
         }
    }

查看学生方法代码写完后,注意要在main方法中调用:Findallstudent(array);

3.删除学生信息的代码编写

3.1 思路

键盘录入要删除的学生信息;

定义一个方法,用于删除学生信息;

  • 显示提示信息
  • 键盘录入要删除的学生学号
  • 遍历集合将对应学生对象从集合中删除
  • 给出删除成功提示

调用方法

3.2 删除学生信息的方法说明图

删除学生的方法说明图

3.3 代码示例

删除学生方法

  // 定义一个方法,用于删除学生信息;
    public static void Deletestudent(ArrayList<Student> array){
        // 键盘录入要删除的学生信息,显示提示信息
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入要删除学生的学号:");
        String num=sc.nextLine();
        
        int index = -1;
        
        // 遍历集合将对应学生对象从集合中删除
        for(int i=0;i<array.size();i++){
            Student s=array.get(i);
            if(s.getNum().equals(num)){
                index = i;
                break;
            }
        }
        
        if(index == -1){
            System.out.println("学号有误!");
        }else{
            array.remove(index);
            System.out.println("删除学生信息成功!");
        }
    }

删除学生方法代码写完后,注意要在main方法中调用:Deletestudent(array);

4.修改学生的代码编写

4.1 思路

键盘录入选择修改的学生信息;

定义一个方法,用于修改学生信息;

  • 显示提示信息
  • 键盘录入要修改的学生学号
  • 遍历集合修改对应的学生信息
  • 给出修改成功提示

调用方法

4.2 修改学生信息的方法说明图

修改学生的方法说明图

4.3 代码示例

修改学生方法

    // 定义一个方法,用于修改学生信息;
    public static void Updatestudent(ArrayList<Student> array){
        // 键盘录入选择修改的学生信息,显示提示信息
        Scanner sc=new Scanner(System.in);
        System.out.print("请输入要修改的学生学号:");
        String num=sc.nextLine();
        
        // 键盘录入要修改的学生信息
        System.out.print("请输入修改后的学生姓名");
        String name=sc.nextLine();
        System.out.print("请输入修改后的学生年龄");
        String age=sc.nextLine();
        System.out.print("请输入修改后的学生地址");
        String address=sc.nextLine();
        
        //创建学生对象
        Student s=new Student();
        s.setNum(num);
        s.setName(name);
        s.setAge(age);
        s.setAddress(address);
        //遍历集合修改对应的学生信息
        for(int i=0;i<array.size();i++){
            Student student=array.get(i);
            if(student.getNum().equals(num)){
                array.set(i,s);
                break;
            }
        }
        //修改成功提示
        System.out.println("修改成功!");
    }

修改学生信息方法代码写完后,注意要在main方法中调用:Updatestudent(array);

5.学号重复问题

5.1 思路

定义一个方法,对学号是否被使用进行判断;

  • 如果与集合中的某一个学生学号相同,返回true
  • 如果都不相同,返回false;

在添加学生录入学号后调用该方法

  • 如果返回true,提示重新输入学号
  • 如果返回false,正常添加学生对象

5.2 学号被占用的方法说明图

学好被占用的说明图

5.3 代码示例

判断学号是否被使用方法

     // 定义一个方法,对学号是否被使用进行判断;
    public static boolean Isused(ArrayList<Student> array,String num){
        // 如果与集合中的某一个学生学号相同,返回true
        // 如果都不相同,返回false;
        boolean flag =false;

        for(int i=0;i<array.size();i++){
            Student s=array.get(i);
            if(s.getNum().equals(num)){
                flag = true;
                break;
            }
        }
        return flag;
        // 在添加学生录入学号后调用该方法
        // 如果返回true,提示重新输入学号
        // 如果返回false,正常添加学生对象
    }

5.4 代码示例

改进后的——添加学生信息方法

     public static void Addstudent(ArrayList<Student> array){
        // 定义一个方法用于添加学生;
        Scanner sc=new Scanner(System.in);

        String num;

        //为了让程序回到这里,我们使用循环实现
        while(true){
            System.out.print("请输入学生学号:");
            num = sc.nextLine();

            boolean flag=Isused(array,num);
            if(flag){
                System.out.println("你输入的学号已经被使用,请重新输入:");
            }else{
                break;
            }
        }

        System.out.print("请输入学生姓名:");
        String name=sc.nextLine();
        System.out.print("请输入学生年龄:");
        String age=sc.nextLine();
        System.out.print("请输入学生地址:");
        String address=sc.nextLine();

        //创建学生对象,将键盘录入的数据赋值给学生对象的成员变量
        Student s=new Student();
        s.setNum(num);
        s.setName(name);
        s.setAge(age);
        s.setAddress(address);

        //将学生对象添加到集合中
        array.add(s);

        //给出添加成功提示
        System.out.println("添加学生成功!");
    }

两个方法代码写完后,注意要在main方法中调用:

首先调用判断学号被使用方法:Isused(array);

调用改进后的添加学生信息方法:Addstudent(array);

(注意:如果之前有调用了标题4中的方法,应先删去后在调用改进后的添加学生信息方法!)

总结

文章中代码的编写使用的都是Java基础知识,多加练习熟能生巧。 

到此这篇关于Java超详细教你写一个学籍管理系统案例的文章就介绍到这了,更多相关Java 学籍管理系统内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 如何使用ActiveMQ中间件方式发送邮件

    如何使用ActiveMQ中间件方式发送邮件

    这篇文章主要介绍了如何使用ActiveMQ中间件方式发送邮件的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • SpringBoot 如何使用sharding jdbc进行分库分表

    SpringBoot 如何使用sharding jdbc进行分库分表

    这篇文章主要介绍了SpringBoot 如何使用sharding jdbc进行分库分表,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • SpringBoot + SpringSecurity 环境搭建的步骤

    SpringBoot + SpringSecurity 环境搭建的步骤

    这篇文章主要介绍了SpringBoot + SpringSecurity 环境搭建的步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05
  • Java Stream比较两个List的差异并取出不同的对象四种方法

    Java Stream比较两个List的差异并取出不同的对象四种方法

    今天开发一个需求时要对A和B两个List集合遍历,并比较出集合A有,而集合B没有的值,下面这篇文章主要给大家介绍了关于Java Stream比较两个List的差异并取出不同对象的四种方法,需要的朋友可以参考下
    2024-01-01
  • Java获取汉字拼音的全拼和首拼实现代码分享

    Java获取汉字拼音的全拼和首拼实现代码分享

    这篇文章主要介绍了Java获取汉字拼音的全拼和首拼实现代码分享,本文直接给出实现代码,需要的朋友可以参考下
    2015-06-06
  • SpringBoot执行异步任务Async介绍

    SpringBoot执行异步任务Async介绍

    这篇文章主要为大家介绍了SpringBoot执行异步任务Async示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • 如何写好一个Spring组件的实现步骤

    如何写好一个Spring组件的实现步骤

    这篇文章主要介绍了如何写好一个Spring组件的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • Java超详细介绍封装与访问控制修符

    Java超详细介绍封装与访问控制修符

    封装是一个非常广泛的概念,小到一个属性的封装,大到一个框架或者一个项目的封装,文中通过实例代码将详细介绍封装与访问控制修饰符
    2022-05-05
  • 如何将文件流转换成byte[]数组

    如何将文件流转换成byte[]数组

    这篇文章主要介绍了如何将文件流转换成byte[]数组,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • IDEA集成Gitee码云的实现步骤

    IDEA集成Gitee码云的实现步骤

    本文主要介绍了IDEA集成Gitee码云的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07

最新评论