develop
Violet 7 months ago
parent 4827d46231
commit 7d732a38f6

@ -1,2 +1,126 @@
# Partner_Project
# 小初高数学学习系统
## 项目简介
这是一个基于Java Swing开发的数学学习软件专门为小学、初中和高中学生设计。系统提供个性化的数学题目生成、答题练习和成绩记录功能支持用户注册、登录和密码管理。
## 功能特性
### 用户管理
- **用户注册**:支持邮箱、用户名、密码和年级选择注册
- **用户登录**:支持邮箱或用户名登录
- **密码修改**:安全的密码修改功能
- **数据持久化**用户数据使用JSON格式存储
### 题目生成
- **分级题目**:根据用户年级(小学、初中、高中)生成相应难度的数学题目
- **智能去重**:避免重复题目,确保练习效果
- **题目保存**:自动保存生成的题目到用户专属文件夹
### 答题系统
- **选择题形式**每题提供4个选项
- **实时评分**:答题后立即显示结果
- **成绩记录**:记录每次练习的成绩
### 年级适配
- **小学**:基础四则运算
- **初中**:包含平方、平方根运算
- **高中**:包含三角函数运算
## 技术架构
### 开发环境
- **语言**Java 11
- **构建工具**Maven
- **GUI框架**Swing
- **数据格式**JSON
### 项目结构
```
src/
├── model/ # 数据模型层
│ ├── UserManager.java # 用户管理
│ ├── QuestionMaker.java # 题目生成器
│ ├── Question.java # 题目模型
│ ├── Grade.java # 年级枚举
│ ├── PrimaryMaker.java # 小学题目生成
│ ├── MiddleMaker.java # 初中题目生成
│ └── HighMaker.java # 高中题目生成
├── ui/ # 用户界面层
│ ├── MathLearningApp.java # 主程序入口
│ ├── LoginFrame.java # 登录界面
│ ├── RegisterDialog.java # 注册对话框
│ ├── GradeSelectionFrame.java # 年级选择界面
│ ├── QuizFrame.java # 答题界面
│ ├── ResultFrame.java # 结果界面
│ ├── UserSettingsDialog.java # 用户设置
│ └── ChangePasswordDialog.java # 修改密码
└── resources/ # 资源文件
```
### 依赖库
- **Gson 2.10.1**JSON数据处理
- **JavaMail 1.6.2**:邮件功能支持
- **JAF 1.1.1**JavaBeans激活框架
## 安装与运行
### 环境要求
- Java 11 或更高版本
- Maven 3.6 或更高版本
### 直接运行
- 双击Math.exe程序
### 编译运行
```bash
# 使用Maven编译
mvn compile
# 运行程序
mvn exec:java
# 打包为可执行JAR
mvn package
```
## 使用说明
### 首次使用
1. 启动程序后进入登录界面
2. 点击"注册"按钮创建新账户
3. 填写邮箱、验证码
4. 验证完成后填写用户名、密码并选择年级
5. 注册成功后返回登录界面登录
### 练习流程
1. 登录成功后选择年级系统会根据注册信息自动推荐以及题目数量10-30
2. 进入答题界面开始练习
3. 选择答案后点击"下一题"继续
4. 完成所有题目后自动生成并显示成绩
### 用户设置
- 在登录后界面可以修改密码
- 系统会自动保存练习记录
## 数据存储
### 用户数据
- 位置:`users.json`
- 格式JSON格式存储用户信息
### 题目记录
- 位置:`questions/{邮箱}/` 目录
- 格式:按时间戳命名的文本文件
## 开发说明
### 扩展题目类型
要添加新的题目类型,需要:
1. 在相应的`*Maker.java`类中添加题目生成逻辑
2. 在`QuestionMaker.java`中更新表达式解析逻辑
3. 更新`Grade.java`枚举(如果需要新的年级)
### 自定义界面
所有UI组件都使用Swing开发可以通过修改对应的`*.java`文件来自定义界面样式和布局。

Binary file not shown.

Binary file not shown.
Loading…
Cancel
Save