• 基于JavaGUI实现的学生点名系统


    基于Java设计的点名系统

    项目说明

    需求分析(总体概述)

    基本功能:

    系统支持新的学生信息的加入、删除和修改,学生信息包括学号、姓名、图像等,并支持文件存储,以及从文件中读入学生的相关信息;

    系统支持多种点名策略:

    --1、随机点名
    --2、优先点名曾经缺勤的学生,可以根据缺勤拼读增大点名概率;
    --3、按照特定数据规则点名,如对学号最后两位数除5余2的学生进行点名;
    
    • 1
    • 2
    • 3
    • 点名结果存文件,系统每次启动都能够加载历史点名信息;
    • 输出点名结果信息至数据库。数据库可使用 MySQL,SQLserver sqlLite 等;
    • 在学期末依据这学期的点名结果,形成完善的报表,并给出相应的总评成绩。
    • 设计有好的人机交互界面。

    拓展(不用做):

    根据图像点名。如上课时拍一张图片,自动实现点名功能。

    总览

    项目由八个功能,分别由八个按钮来响应,(八个方法实现)

    分别是:读取文件、添加学生、删除学生、修改学生、存储文件、点名(随机点名、优先点迟到、学号后两位特征点名)、入数据库、期末报表。

    启动界面

    在这里插入图片描述

    • 读取 Excel 文件

    • 添加学生(包括打开图片)

    在这里插入图片描述
    在这里插入图片描述

    • 删除学生

    在这里插入图片描述

    • 修改学生

    在这里插入图片描述

    • 存储文件(没有子窗口,存储成功或提示)

    在这里插入图片描述

    • 点名(三种点名)

    在这里插入图片描述

    • 入数据库
      在这里插入图片描述

    • 输出期末报表(Excel 格式)(默认文件名:期末报表.xlsx)

    在这里插入图片描述

    功能实现

    实体类:Student

    属性:学号、姓名、图片位置、被点次数、迟到次数

    方法:属性的 set/get 方法

    数据库操作类:StudentDao

    方法:insertStudent

    向数据库中写入学生信息(入数据库)

    窗口属性设置:PublicWindowSet

    主窗口类:AdmintratorWindow

    八个按钮对应方法:

    • 读取文件:loadFileBtn

    • 添加学生:insertStudentBtn

    • 删除学生:deleteStudentBtn

    • 修改学生:modifyStudentBtn

    • 存储文件:storeFileBtn(存储文件为 Excel,覆盖原始文件)

    • 点名(随机点名、优先点迟到、学号后两位特征点名):callNameBtn

    • 随机点名使用位置随机数

    • 优先点迟到:将所有的迟到名单按单个计数,并存储在一个新的链表中(即每个单迟到次数喂一次),对整个链表随机取数,迟到次数多的频率越大,被点几率越大)

    • 学号后两位特征点名,对学号后两位除 5 余 2 的进行随机抽取

    入数据库:outToDatabaseBtn

    将表格文件信息存入数据库 student 中

    期末报表:termStateBtn(将表格信息存入新的“期末报表.xlsx”文件中,成绩评定为:迟到次数/被点次数)

    项目构建

    软件

    --1、系统:win10
    --2、eclipseEE版、jdk1.8、mysql5.5
    --3、数据库操作软件使用sqlyog
    
    • 1
    • 2
    • 3

    组建项目

    --1、在sqlyog中或者其他数据库可视化操作软件中运行“student.sql”文件创建关键数据库student
    --2、在eclipse中将项目导入:右键importimportexit Java
    --3.运行:右键run as  java application  选择启动类为Main.java
    
    • 1
    • 2
    • 3

    注意事项:

    由于项目是根据特定文件格式和输入格式来进行开发,文件格式或者输入格式错误可能导致运行出错。

    具体信息:

    • 输入文件需要时.xlsx 格式(即项目下“学生信息.xlsx”),且文件中只有一个 sheet、5 列、第一行元素值固定为“学号、姓名、图片位置、被点次数、迟到次数”。
    • 文本输入:文本输入格式也需要按照特定格式:比如初始输入学生信息文件中被点次数、迟到次数必须为数字
    • 数据库冲突:数据库中学号唯一,所以文件中不能出现相同学号的学生。
    • 其他问题:暂留(请严格按照和李哥是输入)
      为“学号、姓名、图片位置、被点次数、迟到次数”。
    • 文本输入:文本输入格式也需要按照特定格式:比如初始输入学生信息文件中被点次数、迟到次数必须为数字
    • 数据库冲突:数据库中学号唯一,所以文件中不能出现相同学号的学生。
    • 其他问题:暂留(请严格按照和李哥是输入)
  • 相关阅读:
    SQL 选择数据库 USE语句
    MATLAB程序设计与应用 3.4 矩阵的特征值与特征向量
    云耀服务器L实例部署Typecho开源博客系统|华为云云耀云服务器L实例评测使用体验
    全国计算机等级考试python(未来教育)
    DJ12-2-3 逻辑运算指令与移位指令
    MySQL导入导出&视图&索引&执行计划
    在Java中如何优雅的停止一个线程?可别再用Thread.stop()了!
    IP地址查询
    24岁晋升管理层:6条职场建议改变我的一生
    Golang 函数 不定参数
  • 原文地址:https://blog.csdn.net/sheziqiong/article/details/125991815