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.
Forever-XK 0dea48e3bb
v3.0
5 months ago
..
README.md v3.0 5 months ago

README.md

中小学数学卷子自动生成程序


项目简介


本项目实现了一个为中小学教师自动生成试卷的程序。
程序通过命令行进行交互,根据登录的账号自动匹配对应难度的试题进行生成,同时支持用户切换,难度切换,试题查重,自动保存等功能。

项目结构


中小学数学卷子自动生成程序/
├── src/                       # 源代码目录
│   ├── Main.java              # 主函数
│   ├── Manager.java           # 文件管理接口
│   ├── QuestionManager.java   # 题目文件管理
│   ├── QuestionMaker.java     # 抽象题目生成器基类
│   ├── Users.java             # 用户管理
│   ├── Type.java              # 用户类型枚举
│   ├── PrimaryMaker.java      # 小学题目生成
│   ├── MiddleMaker.java       # 初中题目生成
│   └── HighMaker.java         # 高中题目生成
├── doc/                       # 文档目录
│   └── README.md              # 说明文档   
├── out/                       # 程序目录
│   └── Main.jar               # 可执行程序                               
└── questions/                 # 生成的试卷

功能特性


  1. 用户登录
    支持预设的 9 个账户(小学 3 个、初中 3 个、高中 3 个)
    账户信息:
    小学张三1/123, 张三2/123, 张三3/123
    初中李四1/123, 李四2/123, 李四3/123
    高中王五1/123, 王五2/123, 王五 3/123
    登陆成功后输入“-1”可切换用户并清屏。
  2. 题目生成
    小学:使用+、-、*、/、( )运算符,操作数 1-100 2-5 个操作数
    初中:包含平方 pow(x,2)、开根号 sqrt(x)运算,至少一个特殊运算符
    高中:包含三角函数 sin(x)、 cos(x)、 tan(x),至少一个三角函数
  3. 查重功能
    每个用户独立的题目历史记录
    自动加载历史题目进行查重
    确保同一用户不会生成重复题目
  4. 文件管理 按用户名创建独立文件夹
    文件名格式:年-月-日-时-分-秒.txt
    题目格式:编号+题目内容,题目间空一行
  5. 难度切换
    可使用"切换为小学/初中/高中"命令
    支持动态切换出题难度
    完整的错误处理和提示

使用示例


平台支持

Windows Linux

操作系统 版本要求 支持状态 应用
Windows 11 完全支持 Cmd/PowerShell
Ubuntu 20.04.6 LTS 完全支持 终端

运行前,请确保系统已安装以下环境:

Windows:

  • java 11.0.12(2021-07-20 LTS)
  • Java(TM) SE Runtime Environment 18.9(build 11.0.12+8-LTS-237)
  • Java HotSpot(TM) 64-Bit Server VM 18.9(build 11.0.12+8-LTS-237, mixed mode)

Linux:

  • openjdk 21.0.7(2025-04-15)
  • OpenJDK Runtime Environment build 21.0.7+6-Ubuntu-0ubuntu120.04
  • OpenJDK 64-Bit Server VM build 21.0.7+6-Ubuntu-0ubuntu120.04, mixed mode, sharing

注意:

该项目仅针对上述版本的java进行了测试。使用其他版本的java可能会产生不可预知的问题。

验证环境

# 检查 java 版本
java -version

运行示例

# 1. 运行out中的jar包
java -jar Main.jar

# 2. 程序展示
请输入用户名和密码[空格隔开]或输入‘-1退出程序:
$ 张三1 123
欢迎您张三1!
当前选择为小学出题
准备生成小学数学题目,请输入生成题目数量[10-30]或输入‘切换为’切换难度或输入‘-1退出当前用户
$ 29
文件已保存至questions\张三1\2025-09-27-22-28-50.txt
29道题目生成完成
准备生成小学数学题目,请输入生成题目数量[10-30]或输入‘切换为’切换难度或输入‘-1退出当前用户
$ 切换为初中
成功切换为‘初中’!
准备生成初中数学题目,请输入生成题目数量[10-30]或输入‘切换为’切换难度或输入‘-1退出当前用户
$ 25
文件已保存至questions\张三1\2025-09-27-22-29-03.txt
25道题目生成完成
准备生成初中数学题目,请输入生成题目数量[10-30]或输入‘切换为’切换难度或输入‘-1退出当前用户
$ -1
当前用户已退出
请输入用户名和密码[空格隔开]或输入‘-1退出程序:
$ -1
程序已退出