# 数学题目生成系统 ## 项目简介 一个基于Java的命令行数学题目生成系统,支持小学、初中、高中三个难度级别的题目自动生成,具备用户认证和题目管理功能。 ## 环境要求 - **JDK版本**: JDK 8 或更高版本 - **操作系统**: Windows/Linux/macOS ## 运行方式 ### 1. 编译项目 ```bash # 进入项目根目录(包含math文件夹的目录) javac math/*.java ``` ### 2. 运行系统 ```bash # 运行主程序 java math.MathQuestionSystem # 运行可执行文件 chcp 65001 java -jar math.jar ``` ## 使用命令 ### 登录系统 ``` 请输入用户名和密码(用空格隔开): [用户名] [密码] ``` ### 生成题目 ``` 准备生成[难度]数学题目,请输入生成题目数量(输入-1将退出当前用户,重新登录): [10-30] 题目保存在user文件夹下的对应用户文件夹下的txt文档中 ``` ### 切换难度 ``` 切换为[小学/初中/高中] ``` ### 退出登录 ``` -1 ``` ## 预置账户 | 难度 | 用户名 | 密码 | 默认难度 | |------|-----|-----|----------| | 小学 | 张三1 | 123 | 小学 | | 小学 | 张三2 | 123 | 小学 | | 小学 | 张三3 | 123 | 小学 | | 初中 | 李四1 | 123 | 初中 | | 初中 | 李四2 | 123 | 初中 | | 初中 | 李四3 | 123 | 初中 | | 高中 | 王五1 | 123 | 高中 | | 高中 | 王五2 | 123 | 高中 | | 高中 | 王五3 | 123 | 高中 | ## 文件结构 ``` MathQuestionSystem/ ├── src/ # 源代码目录 │ └── math/ # 数学题目生成系统包 │ ├── MathQuestionSystem.java # 系统主类(入口点) │ ├── AuthManager.java # 用户认证管理 │ ├── QuestionManager.java # 题目文件管理 │ ├── Account.java # 用户账户类 │ ├── DifficultyLevel.java # 难度级别枚举 │ ├── QuestionGenerator.java # 题目生成器接口 │ ├── AbstractQuestionGenerator.java # 抽象题目生成器 │ ├── PrimaryQuestionGenerator.java # 小学题目生成器 │ ├── MiddleQuestionGenerator.java # 初中题目生成器 │ └── HighQuestionGenerator.java # 高中题目生成器 ├── bin/ # 编译后的类文件目录(运行时生成) │ └── math/ │ ├── MathQuestionSystem.class │ ├── AuthManager.class │ ├── QuestionManager.class │ ├── Account.class │ ├── DifficultyLevel.class │ ├── QuestionGenerator.class │ ├── AbstractQuestionGenerator.class │ ├── PrimaryQuestionGenerator.class │ ├── MiddleQuestionGenerator.class │ └── HighQuestionGenerator.class ├── users/ # 用户数据目录(运行时生成) │ ├── 张三1/ # 小学用户1的题目文件 │ │ ├── 2024-01-15-10-30-45.txt │ │ ├── 2024-01-15-11-15-20.txt │ │ └── ... │ ├── 张三2/ # 小学用户2的题目文件 │ ├── 李四1/ # 初中用户1的题目文件 │ ├── 李四2/ # 初中用户2的题目文件 │ ├── 王五1/ # 高中用户1的题目文件 │ └── 王五2/ # 高中用户2的题目文件 ├── lib/ # 第三方库目录(如有需要) ├── doc/ # 项目文档 │ ├── README.md # 项目说明文档 │ ├── STRUCTURE.md # 文件结构文档 │ └── USER_GUIDE.md # 用户使用指南 ├── build.bat # Windows编译脚本 ├── build.sh # Linux/macOS编译脚本 └── run.bat # Windows运行脚本 ``` ## 注意事项 - 题目数量限制为 10-30 道 - 生成的题目自动保存到对应用户目录 - 系统会自动检测和避免生成重复题目 - 支持登录后动态切换难度级别 - 在登陆时只能用一个空格隔开用户名和密码 ## 快速开始 1. 确保已安装JDK 8+ 2. 下载所有Java源文件到math目录 3. 打开命令行,进入项目根目录 4. 执行编译命令:`javac math/*.java` 5. 运行系统:`java math.MathQuestionSystem` 6. 使用预置账户登录开始使用 ## 故障排除 - **编译错误**: 检查JDK版本和文件路径 - **运行错误**: 确保所有.class文件在math目录中 - **文件权限**: 确保有当前目录的读写权限