当前位置:   article > 正文

java入门项目:学生管理系统(进阶版超详细搭建)_java管理系统项目

java管理系统项目

1、项目介绍

简介

学生管理系统是一个典型的信息管理系统,熟悉并掌握其需求和设计思想对于理解和学习数据操作和Java编程有非常大的帮助。

设计思路

**思路:**分为学生端和教师端

  1. 学生端的功能分为登录、注册、查看个人信息、查看成绩、申请修改信息
  2. 教师端的功能分为登录、注册、查看学生信息、修改学生信息、删除学生信息、添加学生信息、查看学生申请的修改信息

image-20231014195337098

2、项目搭建

IDEA新建java项目

点击文件 -->新建

image-20231014191547320

点击src右键新建–>软件包

image-20231014191717273

输入软件包名称,回车即可

image-20231014191744591

3、创建实体类

分析

因为实体类可以提供更好的代码组织和数据封装,提高代码的可读性、可维护性和可扩展性,使程序更加健壮和易于开发和维护。

  1. 我们有分学生端和教师端,所以我们需要创建两个实体类

    • Student
    • Teach
  2. 学生类和老师类都有自己的属性

    • 学生类

      信息变量名类型
      姓名NameString
      学号IdString
      年龄Ageint
      性别SexString
      密码PasswordString
      家庭住址AddressString
      电话PhoneString
      语文成绩Chinesedouble
      数学成绩Mathdouble
      英语成绩Englishdouble
      总分Scoredouble
    • 教师类

      信息变量名类型
      姓名NameString
      工号IdString
      年龄Ageint
      性别SexString
      密码PasswordString
      电话PhoneString
3.1、创建学生类

Student

package com.demo.studentsystem;

public class Student {
    private String Name; //姓名
    private String Id;  //学号
    private int Age;    //年龄
    private String Sex; //性别
    private String Password;    //密码
    private String Address;     //地址
    private String Phone;   //电话
    private double Chinese; //语文成绩
    private double Math;    //数学成绩
    private double English; //英语成绩
    private double Score;   //总分

    public Student() {
    }


    public Student(String Name, String Id, int Age, String Sex, String Password, String Address, String Phone, double Chinese, double Math, double English) {
        this.Name = Name;
        this.Id = Id;
        this.Age = Age;
        this.Sex = Sex;
        this.Password = Password;
        this.Address = Address;
        this.Phone = Phone;
        this.Chinese = Chinese;
        this.Math = Math;
        this.English = English;
    }

    /**
     * 获取
     * @return Name
     */
    public String getName() {
        return Name;
    }

    /**
     * 设置
     * @param Name
     */
    public void setName(String Name) {
        this.Name = Name;
    }

    /**
     * 获取
     * @return Id
     */
    public String getId() {
        return Id;
    }

    /**
     * 设置
     * @param Id
     */
    public void setId(String Id) {
        this.Id = Id;
    }

    /**
     * 获取
     * @return Age
     */
    public int getAge() {
        return Age;
    }

    /**
     * 设置
     * @param Age
     */
    public void setAge(int Age) {
        this.Age = Age;
    }

    /**
     * 获取
     * @return Sex
     */
    public String getSex() {
        return Sex;
    }

    /**
     * 设置
     * @param Sex
     */
    public void setSex(String Sex) {
        this.Sex = Sex;
    }

    /**
     * 获取
     * @return Password
     */
    public String getPassword() {
        return Password;
    }

    /**
     * 设置
     * @param Password
     */
    public void setPassword(String Password) {
        this.Password = Password;
    }

    /**
     * 获取
     * @return Address
     */
    public String getAddress() {
        return Address;
    }

    /**
     * 设置
     * @param Address
     */
    public void setAddress(String Address) {
        this.Address = Address;
    }

    /**
     * 获取
     * @return Phone
     */
    public String getPhone() {
        return Phone;
    }

    /**
     * 设置
     * @param Phone
     */
    public void setPhone(String Phone) {
        this.Phone = Phone;
    }

    /**
     * 获取
     * @return Chinese
     */
    public double getChinese() {
        return Chinese;
    }

    /**
     * 设置
     * @param Chinese
     */
    public void setChinese(double Chinese) {
        this.Chinese = Chinese;
    }

    /**
     * 获取
     * @return Math
     */
    public double getMath() {
        return Math;
    }

    /**
     * 设置
     * @param Math
     */
    public void setMath(double Math) {
        this.Math = Math;
    }

    /**
     * 获取
     * @return English
     */
    public double getEnglish() {
        return English;
    }

    /**
     * 设置
     * @param English
     */
    public void setEnglish(double English) {
        this.English = English;
    }

    /**
     * 获取
     * @return Score
     */
    public double getScore() {
        this.Score = (this.Math+this.English+this.Chinese) / 3;
        return this.Score;
    }
    

    public String toString() {
        return "Student{Name = " + Name + ", Id = " + Id + ", Age = " + Age + ", Sex = " + Sex + ", Password = " + Password + ", Address = " + Address + ", Phone = " + Phone + ", Chinese = " + Chinese + ", Math = " + Math + ", English = " + English + ", Score = " + Score + "}";
    }
    
    public void viewPerson(){
       System.out.println("姓名:"+getName());
       System.out.println("年龄:"+getAge());
       System.out.println("学号:"+getId());
       System.out.println("性别:"+getSex());
       System.out.println("密码:"+getPassword());
       System.out.println("住址:"+getAddress());
       System.out.println("电话:"+getPhone());
    }
    public void viewAchieve(){
       System.out.println("语文成绩:"+getChinese());
       System.out.println("数学成绩:"+getMath());
       System.out.println("英语成绩:"+getEnglish());
       System.out.println("总分:"+getScore());
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
3.2、创建教师类

Teach

package com.demo.studentsystem;

public class Teach {
    private String name;
    private String Id;
    private int Age;
    private String Sex;
    private String Password;
    private String Phone;


    public Teach() {
    }

    public Teach(String name, String Id, int Age, String Sex, String Password, String Phone) {
        this.name = name;
        this.Id = Id;
        this.Age = Age;
        this.Sex = Sex;
        this.Password = Password;
        this.Phone = Phone;
    }

    /**
     * 获取
     * @return name
     */
    public String getName() {
        return name;
    }

    /**
     * 设置
     * @param name
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取
     * @return Id
     */
    public String getId() {
        return Id;
    }

    /**
     * 设置
     * @param Id
     */
    public void setId(String Id) {
        this.Id = Id;
    }

    /**
     * 获取
     * @return Age
     */
    public int getAge() {
        return Age;
    }

    /**
     * 设置
     * @param Age
     */
    public void setAge(int Age) {
        this.Age = Age;
    }

    /**
     * 获取
     * @return Sex
     */
    public String getSex() {
        return Sex;
    }

    /**
     * 设置
     * @param Sex
     */
    public void setSex(String Sex) {
        this.Sex = Sex;
    }

    /**
     * 获取
     * @return Password
     */
    public String getPassword() {
        return Password;
    }

    /**
     * 设置
     * @param Password
     */
    public void setPassword(String Password) {
        this.Password = Password;
    }

    /**
     * 获取
     * @return Phone
     */
    public String getPhone() {
        return Phone;
    }

    /**
     * 设置
     * @param Phone
     */
    public void setPhone(String Phone) {
        this.Phone = Phone;
    }

    public String toString() {
        return "Teach{name = " + name + ", Id = " + Id + ", Age = " + Age + ", Sex = " + Sex + ", Password = " + Password + ", Phone = " + Phone + "}";
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
4、功能实现

分析

  1. 首先我们需要先搭建起来登录界面,登录界面应该包含登录、注册功能
  2. 登录注册需要填写身份,判断是学生还是教师,再选择进入对应的界面

创建main函数

接下来的实现都是在主函数里面创建了,自行创建main函数

public class SystemDemo {
    public static void main(String[] args) {
    }
}
  • 1
  • 2
  • 3
  • 4
4.1、编写主界面
        /**
         * 主界面搭建
         */
        while (true) {
            System.out.println("_________________________________");
            System.out.println("        欢迎使用学生管理系统         ");
            System.out.println("          1、登录系统              ");
            System.out.println("          2、注册账号"              );
            System.out.println("          3、退出系统"              );
            System.out.println("_________________________________");

            //从键盘接受数据
            System.out.println("请输入您的选择:");
            Scanner scanner = new Scanner(System.in);
            int Number = scanner.nextInt();

            if (Number == 1){
                
                //调用登录界面
                LoginSystem();

            } else if (Number == 2){
                
                //调用注册界面
                RegisterSystem();
                
            } else if (Number == 3){
                System.out.println("感谢您的使用系统");
                //调出循环
                break;
            } else {
                System.out.println("输入错误,请选择序号里面的数字");
            }
        }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
4.2、编写登录界面

分析

  • 登录界面需要验证身份,选择让进入学生端还是教师端
    //登录界面
    public static void LoginSystem() {

        System.out.println("欢迎进入登录界面");
        Scanner scanner = new Scanner(System.in);

        while (true){

            System.out.println("请输入您的身份(教师或者学生,输入0则返回上一级):");
            String identity = scanner.next();

            if ("教师".equals(identity)){

                System.out.println("请输入您的工号:");
                String id = scanner.next();

                System.out.println("请输入您的密码");
                String password = scanner.next();

                //调用判断是否存在
                boolean result = JudgmentExistTeach(id, password);
                
                if (result){
                    System.out.println("登录成功");
                    //跳转到教师端
                    TeachTerminal(id);

                } else {
                    System.out.println("登录失败,请检查你的工号和密码是否有问题");
                }


            } else if ("学生".equals(identity)){

                System.out.println("请输入您的学号:");
                String id = scanner.next();

                System.out.println("请输入您的密码");
                String password = scanner.next();
                
                //调用判断是否存在
                boolean result = JudgmentExistStudent(id, password);
                
                if (result){
                    System.out.println("登录成功");
                    //跳转到学生
                    StudentTerminal(id);

                } else {
                    System.out.println("登录失败,请检查你的工号和密码是否有问题");
                }
                
            } else {
                if (identity.equals("0")){
                    break;
                }
                System.out.println("您的输入有问题");
            }
        }
        
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 创建方法判断教师是否存在

    通过传进来的id和password和集合进行判断,id存在,password正确说明登录成功

    public static boolean JudgmentExist(String id,String password){
        //如果列表里面没有东西,那就不需要判断,直接返回不存在
        if (ArrayTeach.size() == 0){
            System.out.println("用户不存在,请注册");
            return false;
        }

        //循环判断用户是否存在
        for (int i = 0; i < ArrayTeach.size(); i++) {
            if (ArrayTeach.get(i).getId().equals(id)){
                if (ArrayTeach.get(i).getPassword().equals(password)){
                    return true;
                }
            }
        }

        return false;
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 创建方法判断学生是否存在
    //判断学生用户是否存在
    public static boolean JudgmentExistStudent(String id,String password){
        //如果列表里面没有东西,那就不需要判断,直接返回不存在
        if (ArrayStudent.size() == 0){
            System.out.println("用户不存在,请注册");
            return false;
        }

        //循环判断用户是否存在
        for (int i = 0; i < ArrayStudent.size(); i++) {
            if (ArrayStudent.get(i).getId().equals(id)){
                if (ArrayStudent.get(i).getPassword().equals(password)){
                    return true;
                }
            }
        }
        return false;
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
4.3、编写教师端功能
  • 教师端是比较复杂的,需要实现功能有:增删改查和查看学生修改申请
4.3.1、教师端主界面编写
 public static void TeachTerminal(String id){

        System.out.println("你好老师,欢迎来到教师端管理系统");
        Scanner scanner = new Scanner(System.in);

        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("6、查询所有学生");
            System.out.println("7、退出管理系统");

            int Number = scanner.nextInt();

            if (Number == 1){
                System.out.println("请输入学生学号");
                String checkId = scanner.next();
                StudentId(checkId);

            } else if (Number == 2){
                boolean result = AddStudent();
                if (result){
                    System.out.println("添加成功");
                } else {
                    System.out.println("添加失败");
                }
            } else if (Number == 3){
                System.out.println("请输入学生学号");
                String updateId = scanner.next();
                //调用更新方法
                boolean result = UpdateStudent(updateId);
                if (result){
                    System.out.println("修改成功");
                } else {
                    System.out.println("修改失败");
                }
            } else if (Number == 4){
                System.out.println("请输入要删除的学生学号");
                String delId = scanner.next();
                //调用删除方法
                boolean result = delStudent(delId);
                if (result){
                    System.out.println("删除成功");
                } else {
                    System.out.println("删除失败");
                }
            } else if (Number == 5){
                //调用查询方法
                selectStudent();
            } else if (Number == 6){
                //调用查看信息方法
                selectInformation();

            } else if (Number == 7){

                System.out.println("感谢使用,再见");
                System.exit(0);
            } else {
                System.out.println("输入错误请选择存在的序号");
            }
        }


    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
4.3.2、查询单个学生信息功能实现

通过id遍历数组实现

public static void StudentId(String id){
        for (int i = 0; i < ArrayStudent.size(); i++) {
            //如果id存在输出
            if (id.equals(ArrayStudent.get(i).getId())){
                System.out.println(ArrayStudent.get(i).toString());
            }
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
4.3.3、添加学生功能实现
    //添加学生
    public static boolean AddStudent(){
        Scanner scanner = new Scanner(System.in);
        while (true){
            System.out.println("请输入学生学号");
            String id = scanner.next();
            //调用查询id方法,查看id是否存在
            boolean flag = JudgmentId(id);
            if (flag) {

                System.out.println("请输入学生姓名");
                String name = scanner.next();
                System.out.println("请输入学生年龄");
                int age = scanner.nextInt();
                System.out.println("请输入学生性别");
                String sex = scanner.next();
                System.out.println("请输入学生密码");
                String password = scanner.next();
                System.out.println("请输入学生住址");
                String address = scanner.next();
                System.out.println("请输入学生电话");
                String phone = scanner.next();
                System.out.println("请输入学生语文成绩");
                double chinese = scanner.nextDouble();
                System.out.println("请输入学生数学成绩");
                double math = scanner.nextDouble();
                System.out.println("请输入学生英语成绩");
                double english = scanner.nextDouble();

                Student student = new Student();
                student.setId(id);
                student.setName(name);
                student.setSex(sex);
                student.setPassword(password);
                student.setAddress(address);
                student.setPhone(phone);
                student.setChinese(chinese);
                student.setMath(math);
                student.setEnglish(english);

                //添加进集合
                ArrayStudent.add(student);
                //跳出循环
                return true;

            } else {
                System.out.println("用户已经存在");
                return false;
            }

        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
4.3.4、查询id是否存在

该方法用于判断集合里面是否有这个学生了,在增删改查都用的到

    public static boolean JudgmentId(String id){
        for (int i = 0; i < ArrayStudent.size(); i++) {
            if (ArrayStudent.get(i).getId().equals(id)){
                return false;
            }
        }
        return true;
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
4.3.5、修改学生信息

通过id去确认学生信息进行修改

    //修改学生信息
    public static boolean UpdateStudent(String id){
        Scanner scanner = new Scanner(System.in);
        boolean flag = JudgmentId(id);
        if (!flag){
            //查询下标记位置
            int i = checkIndex(id);
            if (i>-1){
                System.out.println("请输入学生姓名");
                ArrayStudent.get(i).setName(scanner.next());
                System.out.println("请输入学生年龄");
                ArrayStudent.get(i).setAge(scanner.nextInt());
                System.out.println("请输入学生性别");
                ArrayStudent.get(i).setSex(scanner.next());
                System.out.println("请输入学生密码");
                String password = scanner.next();
                ArrayStudent.get(i).setPassword(scanner.next());
                System.out.println("请输入学生住址");
                ArrayStudent.get(i).setAddress(scanner.next());
                System.out.println("请输入学生电话");
                ArrayStudent.get(i).setPhone(scanner.next());
                System.out.println("请输入学生语文成绩");
                ArrayStudent.get(i).setChinese(scanner.nextDouble());
                System.out.println("请输入学生数学成绩");
                ArrayStudent.get(i).setMath(scanner.nextDouble());
                System.out.println("请输入学生英语成绩");
                ArrayStudent.get(i).setEnglish(scanner.nextDouble());
            }
            return true;
        } else {
            System.out.println("不存在此学生");
            return false;
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
4.3.6、查询学生所在下标位置

该方法可以精准确认学生存放顺序位置,在修改和删除方法会使用到

    //查询学生所在下标位置
    public static int checkIndex(String id){
        for (int i = 0; i < ArrayStudent.size(); i++) {
            if (ArrayStudent.get(i).getId().equals(id)){
                return i;
            }
        }
        return -1;
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
4.3.7、删除学生信息

通过上述方法,确认下标之后用remove方法删除

    //删除学生信息
    public static boolean delStudent(String id){
        boolean flag = JudgmentId(id);
        //存在返回flag
        if (!flag){
            int i = checkIndex(id);
            ArrayStudent.remove(i);
            return true;
        } else {
            System.out.println("学生不存在");
            return false;
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

4.3.8、查询所有学生信息

    //查询所有学生
    public static void selectStudent(){
        for (int i = 0; i < ArrayStudent.size(); i++) {
            System.out.println(ArrayStudent.get(i).toString());
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
4.3.9、查询学生申请信息
    //查询学生申请信息
    public static void selectInformation(){
        for (int i = 0; i < ArrayInformation.size(); i++) {
            System.out.println(ArrayInformation);
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
4.4、编写学生端功能

分析

  • 学生端的功能有:查看个人信息、查看成绩、提交修改申请,这些功能比较简单,都是一些循环遍历
4.4.1、学生端主界面编写
    //学生端
    public static void StudentTerminal(String id){
        System.out.println("你好同学,欢迎使用学生管理系统");
        Scanner scanner = new Scanner(System.in);
        while (true){
            System.out.println("请输入您的选项:");
            System.out.println("1、查看个人信息");
            System.out.println("2、查看学业成绩");
            System.out.println("3、提交修改信息");
            System.out.println("4、退出管理系统");

            int index = scanner.nextInt();
            if (index == 1){
                viwePersonalInformation(id);
            } else if (index == 2){
                viweAchieveInformation(id);
            } else if (index == 3){
                submitUpdate();
                System.out.println("提交成功,等待老师审核");
            } else if (index == 4){
                System.out.println("感谢使用,再见");
                System.out.println("请选择登录或退出");
                break;
            } else {
                System.out.println("输入错误请选择存在的序号");
            }
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
4.4.2、查看个人信息功能实现
    //查看个人信息方法
    public static void viwePersonalInformation(String id){
        //查看学生所处下标
        int i = checkIndex(id);
        if (i > -1){
            ArrayStudent.get(i).viewPerson();
        }

    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
4.4.3、查看成绩信息功能实现
    //查看成绩
    public static void viweAchieveInformation(String id){
        int i = checkIndex(id);
        if (i > -1){
            ArrayStudent.get(i).viewAchieve();
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
4.4.4、提交申请功能实现
    //学生提交申请
    public static void submitUpdate(){
        Scanner scanner = new Scanner(System.in);
        System.out.println("请描述你要更改的信息,例如:原姓名:小林修改为小陈");
        String inform = scanner.next();
        ArrayInformation.add(inform);
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
5、总结

有一段时间没写这种控制台版本的了,花了将近两个小时的时间,基本功能已经实现了,相信大家第一个项目基本上都是学生管理系统,不知道这样子写有没有写明白了,没啥文化不太会写,项目里面其实还有很多可以修改的部分,比如一些方法可以用重载,如果是新手可以再以后学习到IO,再用IO来存储账号信息,后面学到mysql,再用mysql,这样子慢慢进步上去。

写这个项目主要是锻炼自己对Java编程语言有了更深入的了解和运用,对软件开发的整个生命周期有了更清晰的认识。

如果需要源码和笔记可以私信我或添加公棕号:小林学编程,回复学生管理系统

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/675016
推荐阅读
相关标签
  

闽ICP备14008679号