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.
|
|
3 months ago | |
|---|---|---|
| .vscode | 3 months ago | |
| src/main/java/com/mathgen | 3 months ago | |
| target | 3 months ago | |
| README.md | 3 months ago | |
| pom.xml | 3 months ago | |
| userdata.dat | 3 months ago | |
README.md
小初高数学学习软件(结对编程项目)
带图形化界面的小学、初中、高中数学选择题练习系统
- 项目类型: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 或以上版本。
mvn clean package
构建成功后,可在 target/ 目录下找到可执行 JAR 文件:
MathLearningApp.jar ✅ 推荐使用(包含所有依赖的“胖 JAR”)
2. 运行程序
java -jar MathLearningApp.jar
⚠️ 第一次运行会生成 userdata.dat 文件用于保存用户数据。
📬 邮箱功能说明
使用 javax.mail 发送注册码到用户邮箱
邮件服务器配置为 QQ 邮箱 SMTP(SSL)
用户需开启邮箱的 SMTP 服务并使用“授权码”作为密码(非登录密码)
⚠️ 如需更换邮箱服务商,请修改 UserService.java 中的 SMTP 配置。