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.
4.0 KiB
4.0 KiB
中小学数学卷子自动生成程序
项目概述
这是一个基于Java开发的中小学数学题目自动生成系统,支持小学、初中、高中三个不同难度级别的数学题目生成。系统具有用户登录验证、题目生成等功能。
功能特性
用户管理
- 预设用户账户系统
- 支持三种账户类型:小学、初中、高中
- 用户登录验证功能
题目生成
- 根据账户类型生成相应难度的数学题目
- 支持10-30道题目的批量生成
- 自动避免重复题目生成
- 题目难度分级:
- 小学:基础四则运算(+、-、*、/)和括号
- 初中:包含平方、开根号等高级运算
- 高中:包含三角函数(sin、cos、tan)
文件管理
- 自动保存生成的题目到文件
- 按用户分类存储历史题目
系统架构
核心类说明
MathTestGenerator
主程序入口类,负责:
- 用户登录流程控制
- 题目生成流程管理
- 用户交互界面
AccountManager
账户管理类,负责:
- 预设账户数据管理
- 用户登录验证
- 账户信息查询
QuestionGenerator
题目生成器,负责:
- 根据账户类型生成相应难度的数学题目
- 支持小学、初中、高中三种难度级别
- 题目格式化输出
QuestionHistoryManager
题目历史管理类,负责:
- 检查题目重复性
- 生成不重复的题目列表
FileManager
文件管理类,负责:
- 题目文件保存和读取
- 用户文件夹管理
- 历史题目加载
MathQuestion
数学题目实体类,包含:
- 题目内容
- 账户类型
- 基本操作方法
UserAccount
用户账户实体类,包含:
- 用户名
- 密码
- 账户类型
预设账户信息
小学账户
- 张三1 / 123
- 张三2 / 123
- 张三3 / 123
初中账户
- 李四1 / 123
- 李四2 / 123
- 李四3 / 123
高中账户
- 王五1 / 123
- 王五2 / 123
- 王五3 / 123
操作流程
- 程序启动后,输入用户名和密码(用空格分隔)
- 登录成功后,系统显示当前账户类型
- 输入要生成的题目数量(10-30之间)
- 系统自动生成不重复的数学题目
- 题目自动保存到用户文件夹中
- 输入"-1"可退出当前用户,重新登录
- 输入"切换为 XX"可切换题目类型(XX为小学、初中、高中之一)
题目示例
小学题目
- 15 + 23 * 4 =
- (12 + 8) / 5 =
- 45 - 12 + 7 =
初中题目
- 25 + 16^2 - 9 =
- 36 + √64 * 3 =
- 12^2 + 15 - 8 =
高中题目
- 25 + sin(30°) * 4 =
- 16 + cos(45°) - 8 =
- 32 + tan(60°) / 2 =
技术规格
开发环境
- Java版本:JDK 1.8
- 编码格式:UTF-8
项目结构
sxjzzdscxt/
├── doc/ # 文档目录
├── questions/ # 题目存储目录
│ ├── 张三1/ # 用户题目文件夹
│ ├── 王五1/ # 用户题目文件夹
│ └── ...
├── src/main/java/com/example/
│ ├── MathTestGenerator.java # 主程序
│ ├── AccountManager.java # 账户管理
│ ├── QuestionGenerator.java # 题目生成器
│ ├── QuestionHistoryManager.java # 历史管理
│ ├── FileManager.java # 文件管理
│ ├── MathQuestion.java # 题目实体
│ └── UserAccount.java # 用户实体
├── target/ # 编译输出目录
└── pom.xml # Maven配置文件
题目文件格式
- 存储位置:
questions/用户名/年-月-日-时-分-秒.txt - 文件格式:每行一道题目,格式为"题号. 题目内容 ="
- 编码:UTF-8
目录结构
questions/
├── 张三1/
│ ├── 2025-09-29-09-14-55.txt
│ ├── 2025-09-29-09-16-57.txt
│ └── ...
├── 王五1/
│ ├── 2025-09-29-11-21-29.txt
│ └── ...
└── ...