From eebd85e6f5666dd6243ca2ef9652eb6d40836454 Mon Sep 17 00:00:00 2001 From: ymst <2605946526@qq.com> Date: Mon, 29 Sep 2025 00:12:40 +0800 Subject: [PATCH 1/3] =?UTF-8?q?Markdown=E6=96=87=E4=BB=B6=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 8f275d0..ed61115 100644 --- a/README.md +++ b/README.md @@ -108,43 +108,43 @@ MathGenerator/ └── src/ -  └── test/ +  └── main/ -  └── java/ +  └── java/ -  ├── main/ +  ├── org.example/ -  │ └── Main.java # 主程序入口 +  │ └── Main.java # 主程序入口 -  ├── entity/ +  ├── entity/ -  │ ├── User.java # 用户实体类 +  │ ├── User.java # 用户实体类 -  │ └── Question.java # 题目实体类 +  │ └── Question.java # 题目实体类 -  ├── service/ +  ├── service/ -  │ ├── UserService.java # 用户认证服务 +  │ ├── UserService.java # 用户认证服务 -  │ ├── QuestionService.java # 题目生成服务 +  │ ├── QuestionService.java # 题目生成服务 -  │ ├── FileService.java # 文件操作服务 +  │ ├── FileService.java # 文件操作服务 -  │ └── ValidationService.java # 输入验证服务 +  │ └── ValidationService.java # 输入验证服务 -  ├── factory/ +  ├── factory/ -  │ ├── QuestionFactory.java # 题目生成器工厂 +  │ ├── QuestionFactory.java # 题目生成器工厂 -  │ └── QuestionGenerator.java # 题目生成器接口 +  │ └── QuestionGenerator.java # 题目生成器接口 -  └── generator/ +  └── generator/ -  ├── PrimaryQuestionGenerator.java # 小学题目生成器 +  ├── PrimaryQuestionGenerator.java # 小学题目生成器 -  ├── JuniorQuestionGenerator.java # 初中题目生成器 +  ├── JuniorQuestionGenerator.java # 初中题目生成器 -  └── SeniorQuestionGenerator.java # 高中题目生成器 +  └── SeniorQuestionGenerator.java # 高中题目生成器 设计模式 -- 2.34.1 From ba51ba872e3a7ee306d5c1a1c9c129ec4de77769 Mon Sep 17 00:00:00 2001 From: ymst <2605946526@qq.com> Date: Mon, 29 Sep 2025 00:16:11 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=BD=93=E5=89=8Dmd?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 298 ------------------------------------------------------ 1 file changed, 298 deletions(-) delete mode 100644 README.md diff --git a/README.md b/README.md deleted file mode 100644 index ed61115..0000000 --- a/README.md +++ /dev/null @@ -1,298 +0,0 @@ -中小学数学卷子自动生成程序 - -项目概述 - -中小学数学卷子自动生成程序是一个基于 Java 开发的命令行应用程序,旨在帮助小学、初中和高中数学老师快速生成符合教学要求的数学题目。程序支持不同难度级别的题目生成、用户认证、题目查重和文件保存等功能。 - - - -核心功能 - -🔐 用户认证系统 - -预设账户:系统内置小学、初中、高中各三个教师账户 - - - -登录验证:通过用户名和密码进行身份验证 - - - -权限分级:根据账户类型自动确定题目难度级别 - - - -📚 题目生成引擎 - -小学题目 - -运算符:加(+)、减(-)、乘(\*)、除(/) - - - -特殊要求:可能包含括号 - - - -操作数:2-5个操作数,取值范围1-100 - - - -初中题目 - -运算符:包含平方(²)、开根号(√)等高级运算符 - - - -特殊要求:至少包含一个平方或开根号运算符,且必须通过四则运算连接其他操作数 - - - -操作数:3-5个操作数,取值范围1-100 - - - -高中题目 - -运算符:包含三角函数(sin、cos、tan) - - - -特殊要求:至少包含一个三角函数和一个平方/开根号运算符 - - - -操作数:2-5个操作数,取值范围1-100 - - - -🔄 交互功能 - -难度切换:登录后可通过命令切换题目难度 - - - -题目数量控制:支持生成10-30道题目 - - - -重复检测:避免生成与历史题目重复的内容 - - - -灵活退出:支持退出当前用户重新登录 - - - -💾 文件管理 - -按用户分文件夹:每个用户的题目单独存放 - - - -时间戳命名:文件格式为"年-月-日-时-分-秒.txt" - - - -规范格式:每道题目有序号,题目间空一行 - - - -技术架构 - -项目结构 - -text - -MathGenerator/ - -└── src/ - -  └── main/ - -  └── java/ - -  ├── org.example/ - -  │ └── Main.java # 主程序入口 - -  ├── entity/ - -  │ ├── User.java # 用户实体类 - -  │ └── Question.java # 题目实体类 - -  ├── service/ - -  │ ├── UserService.java # 用户认证服务 - -  │ ├── QuestionService.java # 题目生成服务 - -  │ ├── FileService.java # 文件操作服务 - -  │ └── ValidationService.java # 输入验证服务 - -  ├── factory/ - -  │ ├── QuestionFactory.java # 题目生成器工厂 - -  │ └── QuestionGenerator.java # 题目生成器接口 - -  └── generator/ - -  ├── PrimaryQuestionGenerator.java # 小学题目生成器 - -  ├── JuniorQuestionGenerator.java # 初中题目生成器 - -  └── SeniorQuestionGenerator.java # 高中题目生成器 - -设计模式 - -工厂模式:通过 QuestionFactory 创建不同难度的题目生成器 - - - -策略模式:QuestionGenerator 接口支持多难度题目生成策略 - - - -分层架构:清晰的 entity-service-factory 分层结构 - - - -使用指南 - -启动程序 - -bash - -mvn clean package - -java -jar target/math-test-generator.jar - -操作流程 - -登录系统 - - - -text - -请输入用户名和密码(用空格隔开): 张三1 123 - -当前选择为小学出题 - -生成题目 - - - -text - -准备生成小学数学题目,请输入生成题目数量(输入-1将退出当前用户,重新登录): 15 - -题目已生成并保存到: exams/张三1/2025-01-20-14-30-25.txt - -切换难度 - - - -text - -切换为初中 - -准备生成初中数学题目,请输入生成题目数量 - -退出登录 - - - -text - -输入-1将退出当前用户,重新登录 - -预设账户 - -类型 用户名 密码 - -小学 张三1, 张三2, 张三3 123 - -初中 李四1, 李四2, 李四3 123 - -高中 王五1, 王五2, 王五3 123 - -代码规范 - -项目严格遵循 Google Java 编码规范: - - - -使用 2 空格缩进 - - - -完整的 Javadoc 注释 - - - -清晰的包和类结构 - - - -方法长度控制在 40 行以内 - - - -有意义的命名约定 - - - -输出示例 - -生成的题目文件格式: - - - -text - -1\. 25 + 47 - 13 - - - -2\. (18 \* 3) / 6 + 29 - - - -3\. 45 - 17 + 32 \* 2 - - - -... - -扩展性 - -程序具有良好的扩展性,可以轻松: - - - -添加新的题目难度级别 - - - -支持更多的数学运算符 - - - -集成数据库存储 - - - -添加图形用户界面 - - - -支持自定义题目模板 - - - -该项目专为中小学数学教育设计,帮助教师提高出题效率,确保题目质量一致性。 - -- 2.34.1 From 016953fbf17196f004ab50e741f00f17c48b83ca Mon Sep 17 00:00:00 2001 From: ymst <2605946526@qq.com> Date: Mon, 29 Sep 2025 00:18:25 +0800 Subject: [PATCH 3/3] =?UTF-8?q?Markdown=E6=96=87=E4=BB=B6=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 294 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 294 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..cef7ddf --- /dev/null +++ b/README.md @@ -0,0 +1,294 @@ +中小学数学卷子自动生成程序 + +项目概述 + +中小学数学卷子自动生成程序是一个基于 Java 开发的命令行应用程序,旨在帮助小学、初中和高中数学老师快速生成符合教学要求的数学题目。程序支持不同难度级别的题目生成、用户认证、题目查重和文件保存等功能。 + + + +核心功能 + +🔐 用户认证系统 + +预设账户:系统内置小学、初中、高中各三个教师账户 + + + +登录验证:通过用户名和密码进行身份验证 + + + +权限分级:根据账户类型自动确定题目难度级别 + + + +📚 题目生成引擎 + +小学题目 + +运算符:加(+)、减(-)、乘(\*)、除(/) + + + +特殊要求:可能包含括号 + + + +操作数:2-5个操作数,取值范围1-100 + + + +初中题目 + +运算符:包含平方(²)、开根号(√)等高级运算符 + + + +特殊要求:至少包含一个平方或开根号运算符,且必须通过四则运算连接其他操作数 + + + +操作数:3-5个操作数,取值范围1-100 + + + +高中题目 + +运算符:包含三角函数(sin、cos、tan) + + + +特殊要求:至少包含一个三角函数和一个平方/开根号运算符 + + + +操作数:2-5个操作数,取值范围1-100 + + + +🔄 交互功能 + +难度切换:登录后可通过命令切换题目难度 + + + +题目数量控制:支持生成10-30道题目 + + + +重复检测:避免生成与历史题目重复的内容 + + + +灵活退出:支持退出当前用户重新登录 + + + +💾 文件管理 + +按用户分文件夹:每个用户的题目单独存放 + + + +时间戳命名:文件格式为"年-月-日-时-分-秒.txt" + + + +规范格式:每道题目有序号,题目间空一行 + + + +技术架构 + +项目结构 + +text + +MathGenerator/ + +└── src/ + +  └── main/ + +  └── java/ + +  ├── org.example/ + +  │ └── Main.java # 主程序入口 + +  ├── entity/ + +  │ ├── User.java # 用户实体类 + +  │ └── Question.java # 题目实体类 + +  ├── service/ + +  │ ├── UserService.java # 用户认证服务 + +  │ ├── QuestionService.java # 题目生成服务 + +  │ ├── FileService.java # 文件操作服务 + +  │ └── ValidationService.java # 输入验证服务 + +  ├── factory/ + +  │ ├── QuestionFactory.java # 题目生成器工厂 + +  │ └── QuestionGenerator.java # 题目生成器接口 + +  └── generator/ + +  ├── PrimaryQuestionGenerator.java # 小学题目生成器 + +  ├── JuniorQuestionGenerator.java # 初中题目生成器 + +  └── SeniorQuestionGenerator.java # 高中题目生成器 + +设计模式 + +工厂模式:通过 QuestionFactory 创建不同难度的题目生成器 + + + +策略模式:QuestionGenerator 接口支持多难度题目生成策略 + + + +分层架构:清晰的 entity-service-factory 分层结构 + + + +使用指南 + +启动程序 + +bash + +mvn clean package + +java -jar target/math-test-generator.jar + +操作流程 + +登录系统 + + + +text + +请输入用户名和密码(用空格隔开): 张三1 123 + +当前选择为小学出题 + +生成题目 + + + +text + +准备生成小学数学题目,请输入生成题目数量(输入-1将退出当前用户,重新登录): 15 + +题目已生成并保存到: exams/张三1/2025-01-20-14-30-25.txt + +切换难度 + + + +text + +切换为初中 + +准备生成初中数学题目,请输入生成题目数量 + +退出登录 + + + +text + +输入-1将退出当前用户,重新登录 + +预设账户 + +类型 用户名 密码 + +小学 张三1, 张三2, 张三3 123 + +初中 李四1, 李四2, 李四3 123 + +高中 王五1, 王五2, 王五3 123 + +代码规范 + +项目严格遵循 Google Java 编码规范: + + + +使用 2 空格缩进 + + + +完整的 Javadoc 注释 + + + +清晰的包和类结构 + + + +方法长度控制在 40 行以内 + + + +有意义的命名约定 + + + +输出示例 + +生成的题目文件格式: + + + +text + +1\. 25 + 47 - 13 + + + +2\. (18 \* 3) / 6 + 29 + + + +3\. 45 - 17 + 32 \* 2 + + + +... + +扩展性 + +程序具有良好的扩展性,可以轻松: + + + +添加新的题目难度级别 + + + +支持更多的数学运算符 + + + +集成数据库存储 + + + +添加图形用户界面 + + + +支持自定义题目模板 + -- 2.34.1