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.
|
|
5 months ago | |
|---|---|---|
| .. | ||
| README.md | 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 编码
安装与运行
- 克隆或下载项目源代码
- 使用IDE导入项目
- 配置邮件服务参数(在RegisterFrame.java和ChangeCodeFrame.java中)
- 编译并运行App.java
使用流程
- 注册账户:输入用户名、邮箱,获取验证码并设置密码
- 登录系统:使用注册邮箱和密码登录
- 选择教育阶段:首次登录需选择小学/初中/高中
- 开始测试:在主界面选择题目数量开始答题
- 查看结果:提交后自动评分并显示结果
项目亮点
-
安全性:
- 密码BCrypt加密存储
- 邮箱验证机制
- 验证码时效控制(10分钟)
-
智能化:
- 根据教育阶段自适应题目难度
- 智能选项生成算法
- 表达式计算引擎
-
用户体验:
- 友好的图形界面
- 实时反馈机制
- 完善的错误处理
注意事项
-
邮件服务配置:
- 需要在RegisterFrame.java和ChangeCodeFrame.java中配置SMTP参数
- 默认使用QQ邮箱SMTP服务
-
数据存储:
- 用户数据保存在
data/users.json文件中 - 首次运行会自动创建数据文件
- 用户数据保存在
-
密码要求:
- 长度6-10位
- 必须包含大小写字母和数字