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.
|
|
4 months ago | |
|---|---|---|
| .. | ||
| README.md | 4 months ago | |
README.md
数学试卷自动生成程序
一个在命令行运行的数学试卷生成器,支持小学/初中/高中三种难度,按用户维度避免题目重复。
目录
功能特点
- 支持三个教学阶段:小学、初中、高中
- 预设 9 个教师账户(每个阶段 3 个账户)
- 自动生成不重复的数学题目(以用户为维度)
- 按用户分类保存题目文件
- 支持类型切换功能(无需重新登录即可切换难度)
运行环境要求
- 已安装 Java(推荐 JDK 18;JDK 17 也可)。
- Windows 命令行环境(PowerShell 或 CMD)。
快速开始(推荐分发)
将以下文件打包并发送给使用者:
- projecttest.jar(已构建的可运行 JAR)
- 运行数学试卷生成器.bat(中文名启动脚本)
使用方式:
- 解压后保证 .bat 与 projecttest.jar 在同一文件夹。
- 双击任意一个 .bat 即可启动;脚本会自动寻找 JAVA_HOME 或 PATH 中的 java.exe,并以 UTF-8 输出。
- 如未安装 Java,脚本会给出提示,请先安装 JDK 17/18 并配置环境变量。
使用说明
程序启动后将显示提示:
- 输入题目数量(10–30)生成试卷;
- 输入“切换为 小学/初中/高中”来切换难度;例如:切换为 初中;
- 输入 -1 退出当前用户并重新登录;
- 同一用户生成的题目不会重复。
账户信息
小学账户
- 用户名:张三1,密码:123
- 用户名:张三2,密码:123
- 用户名:张三3,密码:123
初中账户
- 用户名:李四1,密码:123
- 用户名:李四2,密码:123
- 用户名:李四3,密码:123
高中账户
- 用户名:王五1,密码:123
- 用户名:王五2,密码:123
- 用户名:王五3,密码:123
题目难度说明
- 不同阶段的题目难度与运算比例不同:小学加减比例高,高中乘除比例高。
- 括号会根据是否改变运算顺序而决定是否出现。
小学
- 运算符:+、-、*、/
- 操作数:1–5 个
- 数值范围:1–100
- 运算结果不会出现负数
初中
- 包含小学所有运算
- 新增:平方运算、开根号运算
- 题目中至少包含一个平方或开根号运算
- 题目中的开根号运算都是可以计算出来的
高中
- 包含初中所有运算
- 新增:sin、cos、tan 三角函数
- 题目中至少包含一个三角函数运算
- 题目中的三角函数都是可以运算出来的
文件保存
- 生成的题目会保存在
math_papers文件夹下 - 每个用户有独立的文件夹
- 文件名格式:
年-月-日-时-分-秒.txt - 每道题目有题号,题目之间空一行
项目结构
- META-INF/MANIFEST.MF:清单文件(Main-Class: MathPaperGenerator)。
- out/production/projecttest:模块编译输出(.class)。
- out/artifacts/projecttest_jar/projecttest.jar:构建产物(JAR)。
- run_math_paper_english.bat、运行数学试卷生成器.bat:启动脚本。
- math_papers/:生成的试卷与历史记录(按用户分文件夹)。
开发与构建(IntelliJ IDEA)
- 项目结构(Ctrl+Alt+Shift+S):
- Project SDK 设为 JDK 18(或 17);Project language level 与 Bytecode version 保持一致。
- Modules > Sources:将 d:\projecttest 标记为 Sources Root;.idea 与 math_papers 标记为 Excluded。
- Modules > Paths:选择“继承项目编译输出路径”,输出到 d:\projecttest\out。
- 构建项目:Build > Build/Rebuild Project,确认 out/production/projecttest 下生成 .class。
- 构件(Artifacts):projecttest:jar
- 输出布局包含“模块输出(projecttest)”与 META-INF(MANIFEST.MF)。
- Build > Build Artifacts > Build projecttest:jar,生成 JAR 于 out/artifacts/projecttest_jar/。
- 运行:
- 命令行:
java -jar d:\projecttest\out\artifacts\projecttest_jar\projecttest.jar - 或双击两个 .bat 启动脚本。
- 命令行:
常见问题与排查
- 不支持的标志: 21:JDK 与语言级别不匹配。将 Project SDK/Language level/Bytecode 统一到 18(或 17)。
- 没有为模块指定输出路径:在 Modules > Paths 中启用“继承项目编译输出路径”。
- 没有主清单属性:确认 META-INF/MANIFEST.MF 存在并包含
Main-Class: MathPaperGenerator;构件输出布局包含清单与模块输出。 - 找不到主类:主类名必须与清单一致,且 .class 已编译到 out/production/projecttest。
注意事项
- 题目数量必须在 10–30 之间
- 同一用户生成的题目不会重复
- 程序会自动创建必要的文件夹
- 支持中文界面,操作简单直观
如需重新打包分发版,直接使用 zip:MathPaperGenerator_release.zip,包含 JAR 与两个启动脚本,解压即用。