## MathSystem(出题系统) 一个基于 Java 的命令行数学题生成器,按“小学/初中/高中”难度随机生成题目,支持去重并按账号分类保存为 `txt` 文件。 ### 运行环境 - JDK 17(或兼容版本) - Windows / macOS / Linux 终端 ### 编译与运行 #### 方式一:使用JAR文件(推荐) 直接运行已打包的jar文件: ```bash java -jar MathSystem.jar ``` 在powershell运行: ```powershell chcp 65001 [Console]::InputEncoding = [System.Text.UTF8Encoding]::new() [Console]::OutputEncoding = [System.Text.UTF8Encoding]::new() java -jar MathSystem.jar ``` 在cmd运行: ```cmd chcp 65001 java -jar MathSystem.jar ``` #### 方式二:从源码编译运行 在项目根目录执行: ```bash javac src/Main.java java -cp src Main ``` 如在 Windows PowerShell 中出现中文显示为 `????`,建议使用 UTF-8 编码运行: ```powershell chcp 65001 [Console]::InputEncoding = [System.Text.UTF8Encoding]::new() [Console]::OutputEncoding = [System.Text.UTF8Encoding]::new() javac src/Main.java java -Dfile.encoding=UTF-8 -cp src Main ``` 或在 `cmd` 中: ```cmd chcp 65001 javac src\Main.java java -Dfile.encoding=UTF-8 -cp src Main ``` ### 使用说明 1. 启动后,按照提示输入“用户名 密码”(以空格分隔)。 2. 登录成功后,会显示当前难度(与账号绑定)。 3. 生成题目:输入题目数量(10-30 的整数)。 4. 退出当前账号:输入 `-1`。 5. 切换难度:输入 `切换为小学`、`切换为初中` 或 `切换为高中`。 ### 输出 - 生成的题目保存在 `papers/<用户名>/yyyy-M-d-H-m-s.txt`。 - 同一账号历史题目用于去重,尽量避免重复。 ### 预置账号 - 小学:`张三1/123`、`张三2/123`、`张三3/123` - 初中:`李四1/123`、`李四2/123`、`李四3/123` - 高中:`王五1/123`、`王五2/123`、`王五3/123` ### 目录结构 ``` MathSystem/ src/ Main.java papers/ # 运行后按用户生成 MathSystem.jar # 可执行jar文件 MANIFEST.MF # jar清单文件 README.md ``` ### 分发说明 - **JAR文件分发**:可以将 `MathSystem.jar` 文件分发给其他用户,他们只需要安装Java运行环境即可直接运行。 - **跨平台兼容**:jar文件可以在Windows、macOS、Linux等任何支持Java的平台上运行。 ### 常见问题 - 终端中文为 `????`:按照上面的 UTF-8 设置运行;或使用 IDE 的"UTF-8 编码 + 运行"配置。 - 无法创建输出目录:确认对项目目录有写权限,或手动创建 `papers` 目录。 - JAR文件无法运行:确保已安装Java运行环境(JRE),并使用 `java -jar MathSystem.jar` 命令运行。