Compare commits

...

9 Commits
main ... main

@ -1,2 +0,0 @@
# Mathlearn

@ -0,0 +1,81 @@
# 中小学数学学习软件说明文档
## 项目概述
中小学数学学习软件是一个基于Java Swing开发的桌面应用程序旨在为小学、初中和高中学生提供数学练习平台。软件采用MVC架构设计实现了用户注册登录、密码管理、题目生成、在线答题和成绩统计等功能。
## 开发环境与依赖
### 开发工具
- **IDE**: IntelliJ IDEA
- **JDK版本**: Java 8或更高版本
### 外部依赖库
项目需要以下两个外部JAR包
| 依赖库 | 版本 | 用途 |
|--------|------|------|
| activation-1.1.1.jar | 1.1.1 | JavaBeans Activation Framework支持邮件服务的MIME类型处理 |
| javax.mail-1.6.2.jar | 1.6.2 | JavaMail API实现邮件发送功能用于注册验证码发送 |
### 依赖配置方法IntelliJ IDEA
1. 在项目中创建`lib`文件夹
2. 将两个JAR文件复制到`lib`目录
3. 右键点击JAR文件 → `Add as Library`
4. 选择模块并确认
## 功能特性
### 用户管理功能
- 用户注册:通过邮箱验证码完成注册
- 用户登录:支持已注册用户登录
- 密码管理:
- 密码长度6-10位必须包含大小写字母和数字
- 登录状态下可修改密码
- 密码采用SHA-256加密存储
### 题目生成功能
- 难度分级:小学、初中、高中三个难度级别
- 题目数量10-30题可调
- 题目查重:同一试卷内题目不重复
### 答题功能
- 选择题形式每题4个选项
- 进度显示:实时显示答题进度
- 自动判分:提交后立即显示成绩
## 核心类说明
### MathLearningApp主类
- 应用程序入口
- 界面切换管理
- MVC组件初始化
### UserManager用户管理
**主要功能:**
- 用户注册验证
- 邮箱验证码发送依赖javax.mail
- 密码加密存储
- 用户数据持久化
### QuizController答题控制
**主要功能:**
- 题目集管理
- 答题进度跟踪
- 成绩计算
- 用户答案记录
### QuestionGenerator题目生成
**难度分级:**
- 小学:四则运算,避免负数结果
- 初中:引入平方、开根号运算
- 高中:包含三角函数计算
## 邮件服务配置
### SMTP配置
```java
private static final String SYSTEM_EMAIL_HOST = "smtp.qq.com";
private static final String SYSTEM_EMAIL_PORT = "587";
private static final String SYSTEM_EMAIL_USERNAME = "2747764757@qq.com";
private static final String SYSTEM_EMAIL_PASSWORD = "dkagkfnxoxgxdcjj";
Loading…
Cancel
Save