From a2d1a2a6f775ddc8add262cc7ac6d6d06db7ded3 Mon Sep 17 00:00:00 2001 From: pta2mvbfs <3259896322@qq.com> Date: Mon, 29 Sep 2025 18:08:28 +0800 Subject: [PATCH 1/3] ADD file via upload --- doc | 152 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 doc diff --git a/doc b/doc new file mode 100644 index 0000000..f3fd22e --- /dev/null +++ b/doc @@ -0,0 +1,152 @@ +# 中小学数学卷子自动生成程序 - 项目说明文档 + +## 项目概述 + +本项目是一个基于Java开发的中小学数学卷子自动生成程序,旨在为小学、初中和高中数学老师提供便捷的题目生成工具。 + +## 项目信息 + +- **项目名称**: 中小学数学卷子自动生成程序 +- **开发语言**: Java +- **开发环境**: JDK 8+ +- **项目类型**: 命令行应用程序 +- **目标用户**: 小学、初中、高中数学老师 + +## 功能特性 + +### 1. 用户认证系统 +- 支持用户名密码登录验证 +- 预设小学、初中、高中各3个账户 +- 根据账户类型自动选择出题难度 + +### 2. 分层题目生成 +- **小学题目**: 支持+、-、*、/和括号运算,操作数范围1-100 +- **初中题目**: 在小学基础上增加平方和开根号运算 +- **高中题目**: 在初中基础上增加sin、cos、tan三角函数运算 + +### 3. 智能去重机制 +- 自动检测历史生成的题目 +- 确保同一账户类型下题目不重复 +- 支持跨会话的题目历史记录 + +### 4. 灵活的用户交互 +- 支持题目数量设置(10-30题) +- 支持在线切换账户类型 +- 支持退出登录重新选择 + +### 5. 文件管理系统 +- 按账户类型分文件夹存储 +- 时间戳命名格式:yyyy-MM-dd-HH-mm-ss.txt +- 自动创建目录结构 + +## 系统架构 + +### 核心类设计 + +1. **MathQuestion.java** - 数学题目数据模型 +2. **User.java** - 用户账户数据模型 +3. **UserManager.java** - 用户管理和认证 +4. **MathQuestionGenerator.java** - 题目生成核心算法 +5. **QuestionManager.java** - 题目管理和去重逻辑 +6. **MathTestGenerator.java** - 主程序入口 +7. **SimpleMathTestGenerator.java** - 优化版主程序 + +### 数据流程 + +``` +用户登录 → 选择题目类型 → 设置题目数量 → 生成题目 → 去重检查 → 保存文件 → 显示结果 +``` + +## 预设账户信息 + +| 账户类型 | 用户名 | 密码 | +|----------|--------|------| +| 小学 | 张三1, 张三2, 张三3 | 123 | +| 初中 | 李四1, 李四2, 李四3 | 123 | +| 高中 | 王五1, 王五2, 王五3 | 123 | + +## 使用说明 + +### 启动程序 +```bash +java MathTestGenerator +# 或 +java SimpleMathTestGenerator +``` + +### 基本操作流程 + +1. **登录**: 输入用户名和密码,用空格分隔 +2. **生成题目**: 输入题目数量(10-30) +3. **切换类型**: 输入"切换为小学"、"切换为初中"或"切换为高中" +4. **退出**: 输入-1退出当前用户 + +### 示例操作 +``` +请输入用户名和密码(用空格隔开):张三1 123 +当前选择为小学出题 +准备生成小学数学题目,请输入生成题目数量(输入-1将退出当前用户,重新登录):15 +正在生成15道小学数学题目... +题目已保存到文件:小学/2025-09-29-14-30-25.txt +``` + +## 项目目录结构 + +``` +项目根目录/ +├── src/ # 源代码目录 +│ ├── MathQuestion.java +│ ├── User.java +│ ├── UserManager.java +│ ├── MathQuestionGenerator.java +│ ├── QuestionManager.java +│ ├── MathTestGenerator.java +│ └── SimpleMathTestGenerator.java +├── doc/ # 文档目录 +│ └── 项目说明文档.md +├── 小学/ # 小学题目存储目录 +├── 初中/ # 初中题目存储目录 +├── 高中/ # 高中题目存储目录 +├── 项目需求.md +├── 个人项目使用大模型后人工修改代码一览表.md +└── run_utf8.bat # 运行脚本 +``` + +## 技术特点 + +### 1. 面向对象设计 +- 采用MVC架构模式 +- 良好的类职责分离 +- 高内聚低耦合的设计原则 + +### 2. 算法优化 +- 高效的题目生成算法 +- 智能的去重机制 +- 合理的随机数生成策略 + +### 3. 中文支持 +- 完整的中文输入输出支持 +- 中文路径和文件名处理 +- 友好的中文用户界面 + +### 4. 健壮性设计 +- 全面的异常处理机制 +- 输入验证和错误提示 +- 良好的容错能力 + +## 扩展性 + +本项目具有良好的扩展性,可以方便地: +- 添加新的题目类型和难度 +- 扩展用户管理功能 +- 增加题目导出格式 +- 集成数据库存储 +- 开发图形用户界面 + +## 开发环境要求 + +- JDK 8 或更高版本 +- 支持UTF-8编码的IDE +- Windows/Linux/macOS操作系统 + + -- 2.34.1 From d59d6111efb5c6e8d1a091a25cc7d23b4f6231bd Mon Sep 17 00:00:00 2001 From: pta2mvbfs <3259896322@qq.com> Date: Mon, 29 Sep 2025 18:09:18 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=88=A0=E9=99=A4=20'doc'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc | 152 ------------------------------------------------------------ 1 file changed, 152 deletions(-) delete mode 100644 doc diff --git a/doc b/doc deleted file mode 100644 index f3fd22e..0000000 --- a/doc +++ /dev/null @@ -1,152 +0,0 @@ -# 中小学数学卷子自动生成程序 - 项目说明文档 - -## 项目概述 - -本项目是一个基于Java开发的中小学数学卷子自动生成程序,旨在为小学、初中和高中数学老师提供便捷的题目生成工具。 - -## 项目信息 - -- **项目名称**: 中小学数学卷子自动生成程序 -- **开发语言**: Java -- **开发环境**: JDK 8+ -- **项目类型**: 命令行应用程序 -- **目标用户**: 小学、初中、高中数学老师 - -## 功能特性 - -### 1. 用户认证系统 -- 支持用户名密码登录验证 -- 预设小学、初中、高中各3个账户 -- 根据账户类型自动选择出题难度 - -### 2. 分层题目生成 -- **小学题目**: 支持+、-、*、/和括号运算,操作数范围1-100 -- **初中题目**: 在小学基础上增加平方和开根号运算 -- **高中题目**: 在初中基础上增加sin、cos、tan三角函数运算 - -### 3. 智能去重机制 -- 自动检测历史生成的题目 -- 确保同一账户类型下题目不重复 -- 支持跨会话的题目历史记录 - -### 4. 灵活的用户交互 -- 支持题目数量设置(10-30题) -- 支持在线切换账户类型 -- 支持退出登录重新选择 - -### 5. 文件管理系统 -- 按账户类型分文件夹存储 -- 时间戳命名格式:yyyy-MM-dd-HH-mm-ss.txt -- 自动创建目录结构 - -## 系统架构 - -### 核心类设计 - -1. **MathQuestion.java** - 数学题目数据模型 -2. **User.java** - 用户账户数据模型 -3. **UserManager.java** - 用户管理和认证 -4. **MathQuestionGenerator.java** - 题目生成核心算法 -5. **QuestionManager.java** - 题目管理和去重逻辑 -6. **MathTestGenerator.java** - 主程序入口 -7. **SimpleMathTestGenerator.java** - 优化版主程序 - -### 数据流程 - -``` -用户登录 → 选择题目类型 → 设置题目数量 → 生成题目 → 去重检查 → 保存文件 → 显示结果 -``` - -## 预设账户信息 - -| 账户类型 | 用户名 | 密码 | -|----------|--------|------| -| 小学 | 张三1, 张三2, 张三3 | 123 | -| 初中 | 李四1, 李四2, 李四3 | 123 | -| 高中 | 王五1, 王五2, 王五3 | 123 | - -## 使用说明 - -### 启动程序 -```bash -java MathTestGenerator -# 或 -java SimpleMathTestGenerator -``` - -### 基本操作流程 - -1. **登录**: 输入用户名和密码,用空格分隔 -2. **生成题目**: 输入题目数量(10-30) -3. **切换类型**: 输入"切换为小学"、"切换为初中"或"切换为高中" -4. **退出**: 输入-1退出当前用户 - -### 示例操作 -``` -请输入用户名和密码(用空格隔开):张三1 123 -当前选择为小学出题 -准备生成小学数学题目,请输入生成题目数量(输入-1将退出当前用户,重新登录):15 -正在生成15道小学数学题目... -题目已保存到文件:小学/2025-09-29-14-30-25.txt -``` - -## 项目目录结构 - -``` -项目根目录/ -├── src/ # 源代码目录 -│ ├── MathQuestion.java -│ ├── User.java -│ ├── UserManager.java -│ ├── MathQuestionGenerator.java -│ ├── QuestionManager.java -│ ├── MathTestGenerator.java -│ └── SimpleMathTestGenerator.java -├── doc/ # 文档目录 -│ └── 项目说明文档.md -├── 小学/ # 小学题目存储目录 -├── 初中/ # 初中题目存储目录 -├── 高中/ # 高中题目存储目录 -├── 项目需求.md -├── 个人项目使用大模型后人工修改代码一览表.md -└── run_utf8.bat # 运行脚本 -``` - -## 技术特点 - -### 1. 面向对象设计 -- 采用MVC架构模式 -- 良好的类职责分离 -- 高内聚低耦合的设计原则 - -### 2. 算法优化 -- 高效的题目生成算法 -- 智能的去重机制 -- 合理的随机数生成策略 - -### 3. 中文支持 -- 完整的中文输入输出支持 -- 中文路径和文件名处理 -- 友好的中文用户界面 - -### 4. 健壮性设计 -- 全面的异常处理机制 -- 输入验证和错误提示 -- 良好的容错能力 - -## 扩展性 - -本项目具有良好的扩展性,可以方便地: -- 添加新的题目类型和难度 -- 扩展用户管理功能 -- 增加题目导出格式 -- 集成数据库存储 -- 开发图形用户界面 - -## 开发环境要求 - -- JDK 8 或更高版本 -- 支持UTF-8编码的IDE -- Windows/Linux/macOS操作系统 - - -- 2.34.1 From e1d24646387ca06dee38996c65d337e21adba074 Mon Sep 17 00:00:00 2001 From: pta2mvbfs <3259896322@qq.com> Date: Mon, 29 Sep 2025 18:09:40 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E8=87=B3=20'doc'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/项目说明文档.md | 152 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 doc/项目说明文档.md diff --git a/doc/项目说明文档.md b/doc/项目说明文档.md new file mode 100644 index 0000000..f3fd22e --- /dev/null +++ b/doc/项目说明文档.md @@ -0,0 +1,152 @@ +# 中小学数学卷子自动生成程序 - 项目说明文档 + +## 项目概述 + +本项目是一个基于Java开发的中小学数学卷子自动生成程序,旨在为小学、初中和高中数学老师提供便捷的题目生成工具。 + +## 项目信息 + +- **项目名称**: 中小学数学卷子自动生成程序 +- **开发语言**: Java +- **开发环境**: JDK 8+ +- **项目类型**: 命令行应用程序 +- **目标用户**: 小学、初中、高中数学老师 + +## 功能特性 + +### 1. 用户认证系统 +- 支持用户名密码登录验证 +- 预设小学、初中、高中各3个账户 +- 根据账户类型自动选择出题难度 + +### 2. 分层题目生成 +- **小学题目**: 支持+、-、*、/和括号运算,操作数范围1-100 +- **初中题目**: 在小学基础上增加平方和开根号运算 +- **高中题目**: 在初中基础上增加sin、cos、tan三角函数运算 + +### 3. 智能去重机制 +- 自动检测历史生成的题目 +- 确保同一账户类型下题目不重复 +- 支持跨会话的题目历史记录 + +### 4. 灵活的用户交互 +- 支持题目数量设置(10-30题) +- 支持在线切换账户类型 +- 支持退出登录重新选择 + +### 5. 文件管理系统 +- 按账户类型分文件夹存储 +- 时间戳命名格式:yyyy-MM-dd-HH-mm-ss.txt +- 自动创建目录结构 + +## 系统架构 + +### 核心类设计 + +1. **MathQuestion.java** - 数学题目数据模型 +2. **User.java** - 用户账户数据模型 +3. **UserManager.java** - 用户管理和认证 +4. **MathQuestionGenerator.java** - 题目生成核心算法 +5. **QuestionManager.java** - 题目管理和去重逻辑 +6. **MathTestGenerator.java** - 主程序入口 +7. **SimpleMathTestGenerator.java** - 优化版主程序 + +### 数据流程 + +``` +用户登录 → 选择题目类型 → 设置题目数量 → 生成题目 → 去重检查 → 保存文件 → 显示结果 +``` + +## 预设账户信息 + +| 账户类型 | 用户名 | 密码 | +|----------|--------|------| +| 小学 | 张三1, 张三2, 张三3 | 123 | +| 初中 | 李四1, 李四2, 李四3 | 123 | +| 高中 | 王五1, 王五2, 王五3 | 123 | + +## 使用说明 + +### 启动程序 +```bash +java MathTestGenerator +# 或 +java SimpleMathTestGenerator +``` + +### 基本操作流程 + +1. **登录**: 输入用户名和密码,用空格分隔 +2. **生成题目**: 输入题目数量(10-30) +3. **切换类型**: 输入"切换为小学"、"切换为初中"或"切换为高中" +4. **退出**: 输入-1退出当前用户 + +### 示例操作 +``` +请输入用户名和密码(用空格隔开):张三1 123 +当前选择为小学出题 +准备生成小学数学题目,请输入生成题目数量(输入-1将退出当前用户,重新登录):15 +正在生成15道小学数学题目... +题目已保存到文件:小学/2025-09-29-14-30-25.txt +``` + +## 项目目录结构 + +``` +项目根目录/ +├── src/ # 源代码目录 +│ ├── MathQuestion.java +│ ├── User.java +│ ├── UserManager.java +│ ├── MathQuestionGenerator.java +│ ├── QuestionManager.java +│ ├── MathTestGenerator.java +│ └── SimpleMathTestGenerator.java +├── doc/ # 文档目录 +│ └── 项目说明文档.md +├── 小学/ # 小学题目存储目录 +├── 初中/ # 初中题目存储目录 +├── 高中/ # 高中题目存储目录 +├── 项目需求.md +├── 个人项目使用大模型后人工修改代码一览表.md +└── run_utf8.bat # 运行脚本 +``` + +## 技术特点 + +### 1. 面向对象设计 +- 采用MVC架构模式 +- 良好的类职责分离 +- 高内聚低耦合的设计原则 + +### 2. 算法优化 +- 高效的题目生成算法 +- 智能的去重机制 +- 合理的随机数生成策略 + +### 3. 中文支持 +- 完整的中文输入输出支持 +- 中文路径和文件名处理 +- 友好的中文用户界面 + +### 4. 健壮性设计 +- 全面的异常处理机制 +- 输入验证和错误提示 +- 良好的容错能力 + +## 扩展性 + +本项目具有良好的扩展性,可以方便地: +- 添加新的题目类型和难度 +- 扩展用户管理功能 +- 增加题目导出格式 +- 集成数据库存储 +- 开发图形用户界面 + +## 开发环境要求 + +- JDK 8 或更高版本 +- 支持UTF-8编码的IDE +- Windows/Linux/macOS操作系统 + + -- 2.34.1