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

  • 更新时间:2022-07-06 10:39:31
  • 编辑:符贞婉
为找教程的网友们整理了Java相关的编程文章,网友何翔宇根据主题投稿了本篇教程内容,涉及到Java、学籍管理系统、Java、学籍管理、Java 学籍管理系统相关内容,已被405网友关注,相关难点技巧可以阅读下方的电子资料。

参考资料

正文内容

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 学籍管理系统内容请搜索码农之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持码农之家!

Java相关教程

  • Java异常处理操作实例讲解

    这篇文章主要介绍了Java基础之异常处理操作,涉及java异常捕获、抛出异常、自定义异常处理相关操作技巧,需要的朋友可以参考下

    发布时间:2021-05-06

  • 解析Kotlin接口与Java8新特性接口

    这篇文章主要介绍了Kotlin 接口与 Java8 新特性接口,Kotlin的接口是可以包含属性声明。Kotlin默认的声明是fianl 和public的。Kotlin里嵌套的类默认并不是内部内,不包含对器外部类的隐式调用。下面我

    发布时间:2020-03-13

  • java异常与处理机制分析

    这篇文章主要介绍了java的异常与处理机制,结合实例形式分析了Java异常与处理机制的概念、原理、相关操作技巧与注意事项,并附带面试题分析供大家参考,需要的朋友可以参考下

    发布时间:2019-08-11

  • 详解Java编程求二叉树的镜像两种方法

    这篇文章主要介绍了Java编程求二叉树的镜像两种方法介绍,分享了两种方法,递归与非递归,每种方法又分别介绍了两种解决思路,具有一定参考价值,需要的朋友可以了解下。

    发布时间:2020-02-26

  • java并发问题知识点总结

    这篇文章主要介绍了java并发问题概述,具有一定借鉴价值,需要的朋友可以参考下。

    发布时间:2019-11-17

  • 关于Java日志组件间关系的知识点分析

    在本文里我们给大家整理了关于Java日志组件间关系相关基础知识,需要的朋友们跟着学习下。

    发布时间:2020-07-06

  • java itext导出PDF功能实现

    下面小编就为大家带来一篇java使用itext导出PDF文本绝对定位(实现方法)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    发布时间:2020-02-26

  • java单例模式知识点深入了解

    这篇文章主要介绍了你真的了解java单例模式了吗?实际上单例模式有着好几个变种,并且多线程中涉及到线程安全问题,,需要的朋友可以参考下

    发布时间:2019-07-03

用户留言