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.

2.7 KiB

MathSystem出题系统

一个基于 Java 的命令行数学题生成器,按“小学/初中/高中”难度随机生成题目,支持去重并按账号分类保存为 txt 文件。

运行环境

  • JDK 17或兼容版本
  • Windows / macOS / Linux 终端

编译与运行

方式一使用JAR文件推荐

直接运行已打包的jar文件

java -jar MathSystem.jar

在powershell运行

chcp 65001
[Console]::InputEncoding  = [System.Text.UTF8Encoding]::new()
[Console]::OutputEncoding = [System.Text.UTF8Encoding]::new()
java -jar MathSystem.jar

在cmd运行

chcp 65001
java -jar MathSystem.jar

方式二:从源码编译运行

在项目根目录执行:

javac src/Main.java
java -cp src Main

如在 Windows PowerShell 中出现中文显示为 ????,建议使用 UTF-8 编码运行:

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 中:

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 命令运行。