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.
@yu-xiuhui 7e8d0080fd
Merge remote-tracking branch 'origin/main'
4 months ago
src 1 4 months ago
README.md Update 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构建输出目录

三、核心功能

  1. 用户管理
  • 用户登录验证

  • 新用户创建

  • 密码修改

  • 学习阶段(难度)修改

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: 程序入口点,提供主菜单交互

五、使用流程

  1. 系统启动后显示主菜单,可选择登录、退出、修改密码或创建账户

  2. 登录成功后进入用户菜单,可选择:

  • 生成试卷指定题目数量10-30 题)

  • 修改难度(切换小学 / 初中 / 高中)

  • 退出当前登录

  1. 生成的题目会自动保存到exams/用户名/目录下,以时间戳命名的文件中

六、数据存储

  • 用户信息存储在user.txt文件中,格式为:用户名 密码 学段

  • 生成的题目按用户分别存储在exams目录下的对应用户子目录中

  • 历史题目用于查重,确保不生成重复题目

七、题目特点

  • 小学题目2-5 个操作数,包含加减乘除及随机括号

  • 初中题目:包含平方 (^2) 和开根号 (sqrt ()) 运算

  • 高中题目:包含三角函数 (sin/cos/tan) 运算

八、注意事项

  • 用户名和密码区分大小写

  • 题目数量必须在 10-30 之间

  • 新建用户时学段必须指定为 "小学"、"初中" 或 "高中"

  • 所有数据以文本文件形式存储,便于查看和备份