Java案例 | 学籍管理系统(超详解 )

不爱生姜不吃醋⭐️⭐️⭐️

声明:
🌻本文写的是不涉及高级特性的Java基础项目——学籍管理系统 ❗️
🌻看完之后觉得不错的话麻烦动动小手点个赞赞吧👍
🌻如果本文有什么错误的话欢迎在评论区中指正哦💗
🌻与其明天开始,不如现在行动!💪
🌻大家的支持就是我最大的动力!冲啊!🌹🌹🌹
🌸 Java基础案例 | 第一弹博文
🌸 Java基础案例 | 第二弹博文

不爱生姜不吃醋

文章目录

  • 🌴前言
  • 🌴一、学籍管理系统功能介绍
    • 1.介绍
    • 2.学籍管理系统的主要功能图示
    • 3.代码编写的思路
  • 🌴二、定义学生类
    • 1. 学生类名称:Student
    • 2. 包含的成员变量
    • 3.构造方法
    • 4.成员方法
    • 5.代码示例
  • 🌴三.主界面的代码编写
    • 1.思路
    • 2.代码示例
  • 🌴四、系统功能方法的实现
    • 1.添加学生信息的代码编写
      • 1.1 思路
      • 1.2 添加学生信息的方法说明图
      • 1.3 代码示例
    • 2.查看学生信息的代码编写
      • 2.1 思路
      • 2.2 查看学生信息的方法说明图
      • 2.3 代码示例
    • 3.删除学生信息的代码编写
      • 3.1 思路
      • 3.2 删除学生信息的方法说明图
      • 3.3 代码示例
    • 4.修改学生的代码编写
      • 4.1 思路
      • 4.2 修改学生信息的方法说明图
      • 4.3 代码示例
    • 5.学号重复问题
      • 5.1 思路
      • 5.2 学号被占用的方法说明图
      • 5.3 代码示例
      • 5.4 代码示例
  • 🌴总结

🌴前言

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

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

1.介绍

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

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

学籍管理系统的功能

3.代码编写的思路

1.1 定义学生类
1.2 主界面的代码编写
1.3 添加学生的代码编写
1.4 查看学生的代码编写
1.5 删除学生的代码编写
1.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. 定义一个方法用于添加学生;
    • 显示提示信息
    • 键盘录入学生对象信息所需要的数据
    • 创建学生对象,将录入的数据赋值给学生对象的成员变量
    • 将学生对象添加到集合中
    • 给出添加成功提示
  3. 调用方法

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 思路

  1. 键盘录入选择查看所有学生信息;
  2. 定义一个方法,用于查看学生信息;
    • 显示表头信息
    • 将集合中数据取出按照对应格式显示学生信息
  3. 调用方法。

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 思路

  1. 键盘录入要删除的学生信息;
  2. 定义一个方法,用于删除学生信息;
    • 显示提示信息
    • 键盘录入要删除的学生学号
    • 遍历集合将对应学生对象从集合中删除
    • 给出删除成功提示
  3. 调用方法

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 思路

  1. 键盘录入选择修改的学生信息;
  2. 定义一个方法,用于修改学生信息;
    • 显示提示信息
    • 键盘录入要修改的学生学号
    • 遍历集合修改对应的学生信息
    • 给出修改成功提示
  3. 调用方法

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 思路

  1. 定义一个方法,对学号是否被使用进行判断;
    • 如果与集合中的某一个学生学号相同,返回true
    • 如果都不相同,返回false;
  2. 在添加学生录入学号后调用该方法
    • 如果返回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基础知识,多加练习熟能生巧。
本文中若是有出现的错误请在评论区或者私信指出,我再进行改正优化,如果文章对你有所帮助,请给博主一个宝贵的三连,感谢大家😘!!!

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
xiaoxingxing的头像xiaoxingxing管理团队
上一篇 2023年7月12日
下一篇 2023年7月12日

相关推荐