|
|
4 months ago | |
|---|---|---|
| src | 4 months ago | |
| README.md | 4 months ago | |
README.md
yuxiuhui
数学题目生成系统介绍文档
一、系统概述
本系统是一个基于 Java 实现的数学题目生成系统,支持不同学段(小学、初中、高中)的用户登录后生成对应难度的数学题目,并提供用户管理、密码修改、难度切换等功能。系统会为每个用户保存历史题目,确保生成的题目不重复。
二、标准 Maven 目录结构
math-problem-generator/ # 项目根目录
├── pom.xml # Maven核心配置文件(依赖管理、构建插件等)
├── src/
│ ├── main/
│ │ ├── java/ # 主程序Java源代码目录
│ │ │ └── com/
│ │ │ └── math/
│ │ │ ├── auth/ # 用户认证模块(对应原auth包)
│ │ │ │ ├── User.java
│ │ │ │ └── UserManager.java
│ │ │ ├── generator/ # 题目生成模块(对应原generator包)
│ │ │ │ ├── ProblemGenerator.java
│ │ │ │ ├── PrimaryGenerator.java
│ │ │ │ ├── MiddleGenerator.java
│ │ │ │ └── HighGenerator.java
│ │ │ ├── util/ # 工具类模块(对应原util包)
│ │ │ │ ├── FileUtils.java
│ │ │ │ ├── ModifyPassword.java
│ │ │ │ ├── CreateUser.java
│ │ │ │ ├── ModifyClass.java
│ │ │ │ └── Menu.java # 规范类名首字母大写
│ │ │ └── Main.java # 主程序入口(程序启动类)
│ │ └── resources/ # 资源文件目录(配置文件、静态资源等)
│ │ ├── config/ # 配置文件目录
│ │ │ └── system.properties # 系统配置(如题目保存路径、默认学段等)
│ │ └── templates/ # 模板文件目录(可选,如题目文档模板)
│ └── test/ # 测试代码目录
│ └── java/
│ └── com/
│ └── math/
│ ├── auth/ # 用户认证模块测试
│ │ └── UserManagerTest.java
│ ├── generator/ # 题目生成模块测试
│ │ ├── PrimaryGeneratorTest.java
│ │ └── HighGeneratorTest.java
│ └── util/ # 工具类测试
│ └── FileUtilsTest.java
├── target/ # Maven构建输出目录
三、核心功能
- 用户管理
-
用户登录验证
-
新用户创建
-
密码修改
-
学习阶段(难度)修改
2.题目生成
-
小学难度题目生成(包含加减乘除及括号运算)
-
初中难度题目生成(包含平方、开根号运算)
-
高中难度题目生成(包含三角函数运算)
-
题目查重(基于用户历史记录)
-
生成题目保存(按时间戳命名)
四、系统架构
主要包结构
-
auth: 用户认证相关类 -
generator: 题目生成相关接口及实现类 -
util: 工具类(文件操作、表达式生成、菜单等)
核心类介绍
1. 用户认证模块
-
User.java-
用户实体类,包含用户名、密码和学段属性
-
提供属性访问方法
-
-
UserManager.java-
用户管理核心类,负责从文件读取用户信息
-
实现用户登录验证功能
-
2. 题目生成模块
-
ProblemGenerator.java- 题目生成接口,定义
generateProblems(int count)方法
- 题目生成接口,定义
-
实现类
-
PrimaryGenerator.java: 小学题目生成器 -
MiddleGenerator.java: 初中题目生成器 -
HighGenerator.java: 高中题目生成器
-
-
ExpressionUtils.java-
表达式生成工具类
-
提供不同学段的表达式生成方法
-
3. 工具类模块
-
FileUtils.java: 文件操作工具,负责用户文件夹创建、历史题目读取和新题目保存 -
ModifyPassword.java: 密码修改工具类 -
CreateUser.java: 新用户创建工具类 -
ModifyClass.java: 用户学段修改工具类 -
menu.java: 系统菜单交互类
4. 主程序入口
Main.java: 程序入口点,提供主菜单交互
五、使用流程
-
系统启动后显示主菜单,可选择登录、退出、修改密码或创建账户
-
登录成功后进入用户菜单,可选择:
-
生成试卷(指定题目数量,10-30 题)
-
修改难度(切换小学 / 初中 / 高中)
-
退出当前登录
- 生成的题目会自动保存到
exams/用户名/目录下,以时间戳命名的文件中
六、数据存储
-
用户信息存储在
user.txt文件中,格式为:用户名 密码 学段 -
生成的题目按用户分别存储在
exams目录下的对应用户子目录中 -
历史题目用于查重,确保不生成重复题目
七、题目特点
-
小学题目:2-5 个操作数,包含加减乘除及随机括号
-
初中题目:包含平方 (^2) 和开根号 (sqrt ()) 运算
-
高中题目:包含三角函数 (sin/cos/tan) 运算
八、注意事项
-
用户名和密码区分大小写
-
题目数量必须在 10-30 之间
-
新建用户时学段必须指定为 "小学"、"初中" 或 "高中"
-
所有数据以文本文件形式存储,便于查看和备份