基于JAVA实现的简易学生信息管理系统(附源码)-创新互联

一、前言    

 最近在学习JAVA,这几天跟着网上的视频学完基础知识之后,做了一个学生信息管理系统,写的比较普通,没太大亮点,希望可以给初学者一些参考经验,另外,如有不恰当的地方还请各位指正!

为汾西等地区用户提供了全套网页设计制作服务,及汾西网站建设行业解决方案。主营业务为网站设计制作、做网站、汾西网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

学生信息管理系统主要包括:显示学生信息;添加学生信息;查找学生信息;删除学生信息;修改学生信息;按照成绩排序;统计学生总数。其中录入学生的信息包括学号、姓名、性别、年龄、出生日期、学院、成绩。

二、系统主要功能

  学生信息管理系统主要包括:

  1、显示学生信息;

  2、添加学生信息;

  3、查找学生信息;

  4、删除学生信息;

  5、修改学生信息;

  6、按照成绩排序;

  7、统计学生总数;

三、系统主要功能实现

下面开始介绍代码,主要的代码处都给出了详细注释,如若有不懂的地方,请在评论区留言。

  • 学生信息管理系统功能菜单

主界面函数代码部分,此函数主要将学生信息管理系统的功能键选择的提示信息打印出来组成了一个简易的登录界面。

实现方法具体如下:

static void show1(){
        System.out.println("********************************************************");
        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.统计学生信息        **************");
        System.out.println("**************        0.退出系统           **************");
        System.out.println("********************************************************");
        System.out.print("请选择其功能:");
    }

实现效果如图所示:

  • 显示学生信息

此函数是将初始存储的学生信息全部显示出来。

实现方法具体如下:

static void show0(){                    //录入初始学生信息
        id.add("54213460501");id.add("54213460502");id.add("54213460503");id.add("54213460504");id.add("54213460505");
        name.add("许雅静");name.add("段清堂");name.add("曲双红");name.add("伍四六");name.add("葛瑞格");
        sex.add("男");sex.add("女");sex.add("男");sex.add("女");sex.add("男");
        age.add("45");age.add("25");age.add("36");age.add("29");age.add("45");
        birthday.add("2002-01-24");birthday.add("2002-07-24");birthday.add("2002-04-14");birthday.add("2001-09-21");birthday.add("2002-01-24");
        college.add("软件学院");college.add("通信学院");college.add("外语学院");college.add("国教学院");college.add("艺设学院");
        grade.add(98);grade.add(78);grade.add(69);grade.add(97);grade.add(82);
    }

实现效果如图所示:

  • 添加学生信息

实现方法具体如下:

static void add(){                      //增加学生信息
        System.out.print("请输入您要添加的学号:");
        String str = sc.next();
        if (id.contains(str)){
            System.out.println("已有此人!");
        }else {
            id.add(str);
            System.out.print("姓名:");
            String str1 = sc.next();
            name.add(str1);
            System.out.print("性别:");
            String str2 = sc.next();
            sex.add(str2);
            System.out.print("年龄:");
            String str3 = sc.next();
            age.add(str3);
            System.out.print("出生日期(yyyy-mm-dd):");
            String str4 = sc.next();
            birthday.add(str4);
            System.out.print("学院:");
            String str5 = sc.next();
            college.add(str5);
            System.out.print("成绩:");
            int str6 = sc.nextInt();
            grade.add(str6);
            System.out.println("添加成功!");
        }
    }

实现效果如图所示:

  • 查找学生信息

此函数主要功能是查询时分为按学号查询,若查无此人则输出提示信息。

实现方法具体如下:

static void search(){                          //查找学生信息
        System.out.print("请输入您要查找的学号:");
        String str = sc.next();
        if (id.contains(str)){
            for (int i = 0; i< id.size(); i++) {
                if (id.get(i).equals(str)) {
                    System.out.println(id.get(i) + "\t" + name.get(i) + "\t\t\t" + sex.get(i) + "\t\t\t"
                            +age.get(i) + "\t\t\t" +birthday.get(i) + "\t\t" + college.get(i) + "\t\t\t" + grade.get(i));
                }
            }
        }else {
            System.out.println("查无此人!");
        }
    }

实现效果如图所示:

  • 删除学生信息

此函数主要功能是执行删除操作,输入学号进行查找,查找到学生信息之后,对学生信息进行删除。

实现方法具体如下:

static void delete(){                       //删除学生信息
        System.out.print("请输入您要删除的学号:");
        String str = sc.next();
        if (id.contains(str)){
            for (int i = 0; i< id.size(); i++) {
                if (id.get(i).equals(str)){
                    id.remove(i);name.remove(i);sex.remove(i);birthday.remove(i);
                    college.remove(i);age.remove(i);
                    System.out.println("删除成功!");
                    break;
                }
            }
        }else {
            System.out.println("查无此人!");
        }
    }

实现效果如图所示:

  • 修改学生信息

此函数的主要功能是对学生信息进行修改,当输入学号后,查询到学生信息之后,对学生信息进行修改。

实现方法具体如下:

static void modify() {                          //修改学生信息
        System.out.print("请输入您要修改的学号:");
        String str = sc.next();
        if (id.contains(str)) {
            for (int i = 0; i< id.size(); i++) {
                if (id.get(i).equals(str)) {
                    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("**************************************");
                        System.out.print("请输入您要修改的选项:");
                        int a = sc.nextInt();
                        if (a == 1 || a == 2 || a == 3 || a == 4 || a == 5 || a == 6) {
                            System.out.print("修改为:");
                            String str0 = sc.next();
                            switch (a) {
                                case 1 ->name.set(i, str0);
                                case 2 ->sex.set(i, str0);
                                case 3 ->birthday.set(i, str0);
                                case 4 ->age.set(i, str0);
                                case 5 ->college.set(i, str0);
                                case 6 ->grade.set(i, Integer.parseInt(str0));
                            }
                            System.out.println("修改成功!");
                            break;
                        } else {
                            System.out.println("请输入正确的序号!");
                        }
                    }
                }
            }
        } else {
            System.out.println("查无此人!");
        }
    }

实现效果如图所示:

  • 按照成绩排序

此函数主要是根据学生成绩按照降序排序。

实现方法具体如下:

static void sort(){                         //按照成绩排序
        ArrayListgrade0 = new ArrayList<>();
        for (int i = 0; i< id.size(); i++) {
            int max = -1;
            int m = 0;
            for (int j = 0; j< id.size(); j++) {
                if ((grade.get(j) >max) && !grade0.contains(j)){
                    max = grade.get(j);
                    m = j;
                }
            }
            System.out.println(i + 1 + "\t\t" + id.get(m) + "\t" + name.get(m) + "\t\t\t" + sex.get(m) + "\t\t\t"
                    +age.get(m) + "\t\t\t" +birthday.get(m) + "\t\t" + college.get(m) + "\t\t\t" + grade.get(m));
            grade0.add(m);
        }
    }

实现效果如图所示:

  • 统计学生总数

实现方法具体如下: 

static void count(){                        //统计学生总数
        System.out.println("学生总人数为:" + id.size());
    }

实现效果如图所示:

完整代码:
import java.util.ArrayList;
import java.util.Scanner;

public class Main {

    static ArrayListid = new ArrayList<>();            //学号
    static ArrayListname = new ArrayList<>();          //姓名
    static ArrayListsex = new ArrayList<>();           //性别
    static ArrayListage = new ArrayList<>();           //年龄
    static ArrayListbirthday = new ArrayList<>();      //出生日期
    static ArrayListcollege = new ArrayList<>();       //学院
    static ArrayListgrade = new ArrayList<>();        //成绩
    static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {
        show0();
        while (true) {
            show1();
            int a = sc.nextInt();
            if (a == 0){
                break;
            }
            switch (a) {
                case 1 ->show();
                case 2 ->add();
                case 3 ->delete();
                case 4 ->modify();
                case 5 ->search();
                case 6 ->sort();
                case 7 ->count();
                default ->System.out.println("请输入正确序号!");
            }
        }
    }

    static void show0(){                    //录入初始学生信息
        id.add("54213460501");id.add("54213460502");id.add("54213460503");id.add("54213460504");id.add("54213460505");
        name.add("许雅静");name.add("段清堂");name.add("曲双红");name.add("伍四六");name.add("葛瑞格");
        sex.add("男");sex.add("女");sex.add("男");sex.add("女");sex.add("男");
        age.add("45");age.add("25");age.add("36");age.add("29");age.add("45");
        birthday.add("2002-01-24");birthday.add("2002-07-24");birthday.add("2002-04-14");birthday.add("2001-09-21");birthday.add("2002-01-24");
        college.add("软件学院");college.add("通信学院");college.add("外语学院");college.add("国教学院");college.add("艺设学院");
        grade.add(98);grade.add(78);grade.add(69);grade.add(97);grade.add(82);
    }

    static void show1(){
        System.out.println("********************************************************");
        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.统计学生信息        **************");
        System.out.println("**************        0.退出系统           **************");
        System.out.println("********************************************************");
        System.out.print("请选择其功能:");
    }
    static void show(){                     //显示学生信息
        System.out.println("******************************************学生信息表************************************************");
        System.out.println("序号\t\t\t学号\t\t\t姓名\t\t\t\t性别\t\t\t年龄\t\t\t出生日期\t\t\t学院\t\t\t\t成绩");
        for (int i = 0; i< id.size(); i++) {
            System.out.println(i + 1 + "\t\t" + id.get(i) + "\t\t" + name.get(i) + "\t\t\t" + sex.get(i) + "\t\t\t"
                    +age.get(i) + "\t\t\t" +birthday.get(i) + "\t\t" + college.get(i) + "\t\t\t" + grade.get(i));
        }
        System.out.println("**************************************************************************************************");
    }

    static void add(){                      //增加学生信息
        System.out.print("请输入您要添加的学号:");
        String str = sc.next();
        if (id.contains(str)){
            System.out.println("已有此人!");
        }else {
            id.add(str);
            System.out.print("姓名:");
            String str1 = sc.next();
            name.add(str1);
            System.out.print("性别:");
            String str2 = sc.next();
            sex.add(str2);
            System.out.print("年龄:");
            String str3 = sc.next();
            age.add(str3);
            System.out.print("出生日期(yyyy-mm-dd):");
            String str4 = sc.next();
            birthday.add(str4);
            System.out.print("学院:");
            String str5 = sc.next();
            college.add(str5);
            System.out.print("成绩:");
            int str6 = sc.nextInt();
            grade.add(str6);
            System.out.println("添加成功!");
        }
    }

    static void delete(){                       //删除学生信息
        System.out.print("请输入您要删除的学号:");
        String str = sc.next();
        if (id.contains(str)){
            for (int i = 0; i< id.size(); i++) {
                if (id.get(i).equals(str)){
                    id.remove(i);name.remove(i);sex.remove(i);birthday.remove(i);
                    college.remove(i);age.remove(i);
                    System.out.println("删除成功!");
                    break;
                }
            }
        }else {
            System.out.println("查无此人!");
        }
    }

    static void modify() {                          //修改学生信息
        System.out.print("请输入您要修改的学号:");
        String str = sc.next();
        if (id.contains(str)) {
            for (int i = 0; i< id.size(); i++) {
                if (id.get(i).equals(str)) {
                    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("**************************************");
                        System.out.print("请输入您要修改的选项:");
                        int a = sc.nextInt();
                        if (a == 1 || a == 2 || a == 3 || a == 4 || a == 5 || a == 6) {
                            System.out.print("修改为:");
                            String str0 = sc.next();
                            switch (a) {
                                case 1 ->name.set(i, str0);
                                case 2 ->sex.set(i, str0);
                                case 3 ->birthday.set(i, str0);
                                case 4 ->age.set(i, str0);
                                case 5 ->college.set(i, str0);
                                case 6 ->grade.set(i, Integer.parseInt(str0));
                            }
                            System.out.println("修改成功!");
                            break;
                        } else {
                            System.out.println("请输入正确的序号!");
                        }
                    }
                }
            }
        } else {
            System.out.println("查无此人!");
        }
    }
    static void search(){                          //查找学生信息
        System.out.print("请输入您要查找的学号:");
        String str = sc.next();
        if (id.contains(str)){
            for (int i = 0; i< id.size(); i++) {
                if (id.get(i).equals(str)) {
                    System.out.println(id.get(i) + "\t" + name.get(i) + "\t\t\t" + sex.get(i) + "\t\t\t"
                            +age.get(i) + "\t\t\t" +birthday.get(i) + "\t\t" + college.get(i) + "\t\t\t" + grade.get(i));
                }
            }
        }else {
            System.out.println("查无此人!");
        }
    }

    static void sort(){                         //按照成绩排序
        ArrayListgrade0 = new ArrayList<>();
        for (int i = 0; i< id.size(); i++) {
            int max = -1;
            int m = 0;
            for (int j = 0; j< id.size(); j++) {
                if ((grade.get(j) >max) && !grade0.contains(j)){
                    max = grade.get(j);
                    m = j;
                }
            }
            System.out.println(i + 1 + "\t\t" + id.get(m) + "\t" + name.get(m) + "\t\t\t" + sex.get(m) + "\t\t\t"
                    +age.get(m) + "\t\t\t" +birthday.get(m) + "\t\t" + college.get(m) + "\t\t\t" + grade.get(m));
            grade0.add(m);
        }
    }

    static void count(){                        //统计学生总数
        System.out.println("学生总人数为:" + id.size());
    }
}
四、总结

  以上就是我实现学生信息管理系统的方案,本文仅仅介绍了实现方案及制作流程,仅供参考,若有问题请帮忙留言指出,欢迎交流学习。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


新闻名称:基于JAVA实现的简易学生信息管理系统(附源码)-创新互联
文章起源:http://scyanting.com/article/cojpop.html