Compare commits

...

1 Commits

Author SHA1 Message Date
康硕天 5a2ee54f86 math1
3 months ago

@ -1,2 +1,67 @@
# k_m
# 小初高数学学习软件(结对编程项目)
> 带图形化界面的小学、初中、高中数学选择题练习系统
- **项目类型**Java 桌面应用Swing + Maven
- **用户群体**:小学、初中、高中学生
- **功能特点**:邮箱注册、密码安全设置、题目生成、在线答题、自动评分
- **技术栈**Java 11, Swing, Maven, javax.mail, exp4j
---
## 项目简介
本项目是一个面向中小学生设计的数学学习软件,支持通过图形化界面完成用户注册、登录、选择学习阶段(小学/初中/高中)、生成数学选择题试卷、在线答题并自动评分。题目难度根据学段自动调整,确保符合教学要求。
---
## 功能特性
| 功能 | 说明 |
|------|------|
| ✅ 邮箱注册 | 用户输入邮箱,系统发送 6 位注册码,完成注册 |
| ✅ 安全密码设置 | 密码需 6-10 位,包含大小写字母和数字 |
| ✅ 密码修改 | 登录后可修改密码,需验证原密码 |
| ✅ 学段选择 | 注册后可选择小学、初中或高中 |
| ✅ 题目生成 | 根据学段生成指定数量10-30的选择题无重复题目 |
| ✅ 在线答题 | 每题四个选项,点击提交后跳转下一题 |
| ✅ 自动评分 | 答题结束后显示正确率(百分比) |
| ✅ 继续练习 | 可选择退出或继续做题 |
| ❌ 无数据库 | 所有数据(用户、题目)保存在本地文件(`userdata.dat` |
---
## 题目难度说明
| 学段 | 运算要求 |
|------|----------|
| 小学 | `+`、`-`、`*`、`/` 和 `()`,操作数 1-100操作数个数 1-5 |
| 初中 | 至少包含一个 **平方** 或 **开根号** 运算 |
| 高中 | 至少包含一个 **sin**、**cos** 或 **tan** 三角函数运算 |
> 所有题目均为选择题,选项随机生成,答案唯一。
---
## 编译与运行
### 1. 构建项目
本项目使用 Maven 管理依赖,需 JDK 11 或以上版本。
```bash
mvn clean package
构建成功后,可在 target/ 目录下找到可执行 JAR 文件:
MathLearningApp.jar ✅ 推荐使用(包含所有依赖的“胖 JAR”
2. 运行程序
java -jar MathLearningApp.jar
⚠️ 第一次运行会生成 userdata.dat 文件用于保存用户数据。
📬 邮箱功能说明
使用 javax.mail 发送注册码到用户邮箱
邮件服务器配置为 QQ 邮箱 SMTPSSL
用户需开启邮箱的 SMTP 服务并使用“授权码”作为密码(非登录密码)
⚠️ 如需更换邮箱服务商,请修改 UserService.java 中的 SMTP 配置。

Loading…
Cancel
Save