You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
MathLearningApp/doc
hnu202326010225 f375eaf569
Delete 'doc/个人项目使用大模型后人工修改代码一览表.docx'
5 months ago
..
README.md only src doc 5 months ago

README.md

功能特性

1. 用户管理系统

  • 用户注册与邮箱验证
  • 用户登录与密码管理
  • 个人资料管理(用户名修改、密码修改)
  • 用户教育阶段设置(小学/初中/高中)

2. 数学题目生成系统

  • 支持三种教育阶段的题目生成:
    • 小学:基础四则运算(+、-、×、÷)
    • 初中:包含平方、开方运算
    • 高中包含三角函数sin、cos、tan
  • 自动生成带括号的表达式
  • 智能选项生成(正确答案+干扰项)

3. 答题测试系统

  • 自适应题目数量10-30题可选
  • 图形化答题界面
  • 实时答题记录
  • 自动评分与结果展示

技术特点

核心技术栈

  • Java Swing图形用户界面
  • Jackson用户数据序列化
  • BCrypt密码加密存储
  • JavaMail邮件验证码发送

设计模式

  • MVC架构模式
  • 抽象工厂模式(题目生成器)
  • 单例模式(用户服务)

使用说明

系统要求

  • Java 8或更高版本
  • 网络连接(用于邮件验证)

运行环境

程序可以通过可执行文件 math-learning-app-1.0.0.jar执行 运行环境: window PowerShell UTF-8 编码

安装与运行

  1. 克隆或下载项目源代码
  2. 使用IDE导入项目
  3. 配置邮件服务参数在RegisterFrame.java和ChangeCodeFrame.java中
  4. 编译并运行App.java

使用流程

  1. 注册账户:输入用户名、邮箱,获取验证码并设置密码
  2. 登录系统:使用注册邮箱和密码登录
  3. 选择教育阶段:首次登录需选择小学/初中/高中
  4. 开始测试:在主界面选择题目数量开始答题
  5. 查看结果:提交后自动评分并显示结果

项目亮点

  1. 安全性

    • 密码BCrypt加密存储
    • 邮箱验证机制
    • 验证码时效控制10分钟
  2. 智能化

    • 根据教育阶段自适应题目难度
    • 智能选项生成算法
    • 表达式计算引擎
  3. 用户体验

    • 友好的图形界面
    • 实时反馈机制
    • 完善的错误处理

注意事项

  1. 邮件服务配置:

    • 需要在RegisterFrame.java和ChangeCodeFrame.java中配置SMTP参数
    • 默认使用QQ邮箱SMTP服务
  2. 数据存储:

    • 用户数据保存在data/users.json文件中
    • 首次运行会自动创建数据文件
  3. 密码要求:

    • 长度6-10位
    • 必须包含大小写字母和数字