Compare commits

...

6 Commits

@ -0,0 +1,181 @@
# 数学学习软件系统说明文档
## 概述
数学学习软件是一个基于 JavaFX 开发的桌面应用程序,旨在为不同学段(小学、初中、高中)的学生提供定制化的数学练习平台。系统支持用户注册登录、题目难度选择、答题练习和成绩统计等功能,确保生成的题目符合各学段的教学要求。
## 运行环境
### 平台要求
- **操作系统**: Windows 10/11
- **Java版本**: JDK 17 或更高版本
- **内存**: 最低 2GB RAM
- **磁盘空间**: 至少 100MB 可用空间
### 依赖项
- JavaFX 17 (已包含在项目中)
- 需要网络连接用于邮箱验证功能
## 项目结构
```
src/
├── com.wsf.mathapp/ # 前端界面和控制器
│ ├── controller/
│ │ └── SceneManager.java
│ ├── view/
│ │ ├── LoginView.java
│ │ ├── RegisterView.java
│ │ ├── MainMenuView.java
│ │ ├── LevelSelectionView.java
│ │ ├── QuestionCountView.java
│ │ ├── QuizView.java
│ │ └── ResultView.java
│ ├── service/
│ │ └── QuestionService.java
│ └── MathApplication.java
├── com.ybw.mathapp/ # 后端核心逻辑
│ ├── entity/
│ │ ├── User.java
│ │ └── QuestionWithOptions.java
│ ├── service/
│ │ ├── QuestionGenerator.java
│ │ ├── PrimarySchoolGenerator.java
│ │ ├── JuniorHighGenerator.java
│ │ ├── SeniorHighGenerator.java
│ │ ├── MultipleChoiceGenerator.java
│ │ └── AdvancedCaculate.java
│ ├── util/
│ │ ├── Login.java
│ │ ├── Register.java
│ │ ├── ChangePassword.java
│ │ ├── LoginFileUtils.java
│ │ └── EmailService.java
│ └── config/
│ └── EmailConfig.java
└── Main.java
```
## 安装和运行
### 方法一:使用 IDE 运行(推荐)
1. **安装 JDK 17**
- 下载并安装 Oracle JDK 17 或 OpenJDK 17
- 设置 JAVA_HOME 环境变量
2. **导入项目**
- 使用 IntelliJ IDEA 或 Eclipse 导入项目
- 确保配置了 JDK 17
3. **运行程序**
- 打开 `Main.java``MathApplication.java`
- 点击运行按钮启动应用程序
### 方法二:使用 JAR 文件
**直接运行 JAR 文件**
```bash
java -jar .\mathapp-1.0.jar
```
## 系统功能
### 1. 用户管理
- **用户注册**: 支持用户名、邮箱注册,通过邮箱验证码验证身份
- **用户登录**: 支持用户名或邮箱登录,密码验证
- **密码修改**: 在线修改密码,需验证原密码
- **用户信息显示**: 动态显示用户头像和用户名
### 2. 题目生成
- **小学题目**: 生成包含四则运算和括号的题目,确保计算结果为非负数
- **初中题目**: 生成包含平方或开根号运算的题目,确保每道题目都包含高级运算符
- **高中题目**: 生成包含三角函数的题目,支持复杂的数学表达式
- **选择题转换**: 将生成的题目转换为选择题形式,包含正确答案和干扰项
### 3. 答题评估
- **实时答题**: 显示题目和四个选项,支持单选
- **进度跟踪**: 显示当前题号和总题数
- **自动评分**: 计算正确率并给出相应评语
- **结果展示**: 根据得分显示不同颜色的分数和鼓励性评语
## 使用指南
### 第一步:启动应用
```bash
# 确保在项目根目录下执行
java -jar .\mathapp-1.0.jar
```
### 第二步:用户注册
1. 点击"注册账号"按钮
2. 输入用户名3-20位字母、数字
3. 输入有效邮箱地址
4. 获取并输入邮箱验证码
5. 设置密码6-10位包含大小写字母和数字
6. 确认密码并完成注册
### 第三步:选择练习
1. 登录后进入主菜单
2. 点击"开始练习"
3. 选择难度级别:小学、初中或高中
4. 输入题目数量10-30题
5. 开始答题
### 第四步:答题和查看结果
1. 阅读题目并从四个选项中选择答案
2. 点击"下一题"继续
3. 完成所有题目后查看得分和评语
4. 可选择"再次练习"或"返回主菜单"
## 配置说明
### 邮箱配置
系统使用 QQ 邮箱发送验证码,如需修改配置,编辑 `EmailConfig.java`
```java
public class EmailConfig {
public static final String SMTP_HOST = "smtp.qq.com";
public static final String SMTP_PORT = "587";
public static final String SENDER_EMAIL = "your-email@qq.com";
public static final String SENDER_PASSWORD = "your-authorization-code";
}
```
### 数据存储
- 用户信息存储在 `users.txt` 文件中
- 每个用户的答题记录保存在以用户名为名的目录中
## 故障排除
### 常见问题
1. **无法启动程序**
- 检查 JDK 版本是否为 17
- 确认 JavaFX 库路径正确
2. **邮箱验证码收不到**
- 检查网络连接
- 确认邮箱配置正确
- 查看垃圾邮件文件夹
3. **界面显示异常**
- 确保屏幕分辨率不低于 1024x768
- 检查系统字体设置
### 日志查看
程序运行日志输出到控制台,包含:
- 用户登录/注册信息
- 题目生成状态
- 界面切换记录
## 技术特性
- **模块化设计**: 易于维护和扩展
- **响应式界面**: 适配不同屏幕尺寸
- **数据验证**: 完整的输入验证机制
- **错误处理**: 友好的错误提示信息
- **性能优化**: 高效的题目生成和去重算法
## 注意事项
1. 首次使用需要注册账号
2. 小学题目不包含负数运算
3. 初中题目避免负数开根号
4. 邮箱验证码有效期为 5 分钟
5. 建议在稳定的网络环境下使用邮箱功能
Loading…
Cancel
Save