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.
Go to file
康硕天 5a2ee54f86
math1
3 months ago
.vscode math 3 months ago
src/main/java/com/mathgen math 3 months ago
target math 3 months ago
README.md math1 3 months ago
pom.xml math 3 months ago
userdata.dat math 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
初中 至少包含一个 平方开根号 运算
高中 至少包含一个 sincostan 三角函数运算

所有题目均为选择题,选项随机生成,答案唯一。


编译与运行

1. 构建项目

本项目使用 Maven 管理依赖,需 JDK 11 或以上版本。

mvn clean package
构建成功后,可在 target/ 目录下找到可执行 JAR 文件:

MathLearningApp.jar ✅ 推荐使用(包含所有依赖的“胖 JAR”

2. 运行程序
java -jar MathLearningApp.jar
⚠️ 第一次运行会生成 userdata.dat 文件用于保存用户数据。

📬 邮箱功能说明
使用 javax.mail 发送注册码到用户邮箱
邮件服务器配置为 QQ 邮箱 SMTPSSL
用户需开启邮箱的 SMTP 服务并使用“授权码”作为密码(非登录密码)
⚠️ 如需更换邮箱服务商,请修改 UserService.java 中的 SMTP 配置。