【java/数据库课程设计】——基于springboot+vue+mysql的随机点名器

发布时间:2024年01月17日

1.项目概况

这是一个基于Spring Boot、Vue和MySQL的随机点名器项目,它可以作为智慧教育系统的一个模块,用于实现课堂点名功能。以下为详细介绍:

  1. 后端使用Spring Boot框架,实现学生信息的增删改查及点名等功能。

  2. 前端使用Vue框架,从后端获取学生信息,并展示在前端页面上。

  3. 数据库使用MySQL,存储学生信息。学生信息包括姓名、学号、性别等字段。

  4. 随机点名器功能实现:前端页面提供“开始点名”按钮,点击后向后端发送请求,后端随机选取一个学生返回给前端展示,点名可设置权重,具有不点某个学生,点名不可重复,多轮点名,固定某人等多种点名方式。

总之,该项目实现了随机点名功能,并且采用了流行的Spring Boot+Vue技术栈,可以作为新手学习Web开发的一个好的例子。

2.页面设计

这里用mastergo简单设计了两个页面,小伙伴们可以自行参考:

点名界面
在这里插入图片描述

当然了,这两个页面只是简单示例,想要添加其他功能,例如增加点名人数,减少点名人员,修改点名人员等小伙伴们可以自行设计添加。

3.基本代码实现

这里给小伙伴们提供两种点名方法的代码实现:

  1. 班级里有N个学生,学生属性:姓名,年龄,性别,实现完全随机点名

    方法一:

            ArrayList<String> list = new ArrayList<>();
            Collections.addAll(list,"范县","凡间","饭桶","du","d","so","hou","name1","na2","na3");
                    Collections.shuffle(list);
            String name = list.get(0);
            System.out.println(name)

    方法二:

    ArrayList<String> list = new ArrayList<>();
            Collections.addAll(list,"范县","凡间","饭桶","du","d","so","hou","name1","na2","na3");
            Random r=new Random();
            int index = r.nextInt(list.size());
            String name = list.get(index);
            System.out.println(name);
    
  2. 班级里有N个学生,学生属性:姓名,年龄,性别,实现完全随机点名,根据性别不同实现被点名概率不同

    /*
            * 班级里有N个学生
            * 要求:
            * 70%的概率随机到男生
            * 30%的概率随机到女生
            * */
            ArrayList<Integer> list=new ArrayList<>();
            Collections.addAll(list,1,1,1,1,1,1,1);
            Collections.addAll(list,0,0,0);
            Collections.shuffle(list);
            Random r = new Random();
            int index = r.nextInt(list.size());
            int number = list.get(index);
            System.out.println(number);
            ArrayList<String> boyList = new ArrayList<>();
            ArrayList<String> girlList = new ArrayList<>();
            Collections.addAll(boyList,"na1","na2","na3","na4","ma4","na5","na6","na7");
            Collections.addAll(girlList,"na8","na9","na10");
            if (number==1){
                //boyList
                int boyIndex = r.nextInt(boyList.size());
                String name = boyList.get(boyIndex);
                System.out.println(name);
            }else {
                //girlList
                int girlIndex = r.nextInt(girlList.size());
                String name = girlList.get(girlIndex);
                System.out.println(name);
            }
    

    当然了,点名方式也不只这些,下面再给小伙伴们列举几种:

    1. 逐序点名:按照学生名单的顺序依次点名,每次点名一个学生。这种方式简单直接,但可能导致学生预测到自己会被点到的顺序。

    2. 抢答点名:老师或者系统提出问题后,学生主动回答并报上自己的名字。这种方式可以培养学生的积极性和主动性,但可能导致部分学生更积极抢答,而其他学生无法获得机会。

    3. 班牌点名:在教室前方安装班牌设备,学生刷卡或扫码进行点名。这种方式可以自动记录学生出勤情况,减少手工操作。

    不同的点名方式适用于不同的场景和目的,小伙伴们可以根据需要和特点选择合适的方式进行点名。

4.点名器拓展功能

点名器可以拓展和衍生的功能有以下几种:

  1. 出勤管理:点名器可以记录学生的出勤情况,并生成出勤报表。可以通过分析出勤数据,帮助老师评估学生的学习情况和学习习惯。

  2. 随机提问:除了点名之外,点名器还可以用于随机提问,促进学生参与课堂互动。学生可以通过点名器随机选取的方式回答老师提出的问题,增加课堂趣味性和互动性。

  3. 签到打卡:点名器可以作为签到打卡工具使用,学生可以通过扫码或刷卡完成签到,方便快捷,同时可以实现自动化管理,减少手工操作。

  4. 课堂评测:点名器可以用于课堂评测,老师可以在课堂上进行随机点名,同时要求被点名的学生回答一些与课堂内容相关的问题,以检测学生对知识掌握的程度和深度。

  5. 考勤奖惩:点名器可以用于考勤奖惩,即通过点名器记录学生的出勤情况,对出勤率高的学生进行奖励,对出勤率低的学生进行惩罚。这可以激励学生积极参与课堂和提高出勤率。

总之,点名器可以拓展和衍生的功能很多,可以根据实际需求进行选择和定制。小伙伴们可以根据自己的需要进行设计和开发。


如果小伙伴们觉得这个分享有用,欢迎下面的关注公众号,不想自己开发的小伙伴也可以关注公众号私信定制源码
在这里插入图片描述

文章来源:https://blog.csdn.net/weixin_73582152/article/details/135659712
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。