# 个人项目:中小学数学题目自动生成程序 ------ ### 目录: ##### 一、程序功能 ###### 1.登录及退出功能 ###### 2.题目生成及保存功能 ###### 3.题目类型切换功能 ###### 4.用户账号切换功能 ##### 二、运行方式 ###### 1.运行平台说明 ###### 2.直接双击*run.exe*运行*(jar包必须)* ###### 3.在PowerShell下运行*(run.exe不必须)* ###### 4.在cmd下运行*(run.exe不必须)* ##### 三、生成题目说明 ###### 1.小学题目 ###### 2.初中题目 ###### 3.高中题目 ------ ### 一、程序功能 #### 1.登录及退出功能 ​ 命令行输入**用户名和密码,两者之间用空格隔开**(程序预设小学、初中和高中各三个账号,具体见附表),如果用户名和密码都正确,将根据账户类型显示“**当前选择为XX出题**” *(以下若未特殊说明,XX均为小学、初中和高中三个选项中的一 个)*。 ​ 若账号密码错误,或者无效输入,程序将提示“**请输入正确的用户名、密码**"; 输入**-1**将退出程序,显示“**exit**”。 #### 2.题目生成及保存功能 ​ 登录后,系统会提示“**准备生成XX数学题目,请输入生成题目数量(输入-1 将退出当前用户,重新登录):**”,用户输入所需出的卷子的题目数量,系统默认将根据账号类型进行出题。 同一个老师的卷子中的题目不会与以前的已生成的卷子中的题目重复。 ​ **每道题目的操作数在1-5个之间,操作数取值范围为1-100;** 题目数量的有效输入范围是“**10-30**”,输入超出范围的数字系统会提示“**请输入 10-30 之间的数字**”。 ​ 生成的题目将以“**年-月-日-时-分-秒.txt**”的形式保存,每个账号生成的题目将放在对应账号名的文件夹下。每道题目有题号,每题之间空一行; #### 3.题目类型切换功能 ​ 在登录状态下,如果用户需要切换类型选项,命令行输入“**切换为XX**”,输入项不符合要求时(包括非数字文本及不符合XX的文本),程序控制台会提示“**请输入小学、初中和高中三个选项中的一个**”;输入正确后,显示“**系统提示“准备生成XX数学题目,请输入生成题目数量**”,用户输入所需出的卷子的题目数量,系统新设置的类型进行出题,生成规则仍遵循**2**。 #### 4.用户账号切换功能 ​ 在登录状态下,如果用户需要切换账号,输入"**-1**"返回到登录界面。 ------ ### 二、运行方式 #### 1.运行平台说明 ​ 可正常在Windows、PowerShell和cmd里运行。由于使用JDK-23进行编译,无法在Linux平台使用jdk-17运行。 ​ 以下说明程序的三种运行方式: #### 2.直接双击*run.exe*运行*(jar包必须)* ​ 将**Personal.jar**包和**run.exe**放在同一目录下,然后**双击run.exe运行程序**; #### 3.在PowerShell下运行*(run.exe不必须)* ​ 可以使用`./run.exe`运行程序。 ​ 在PowerShell下直接运行需要更改PowerShell输入和输出的编码方式。在输入 `[Console]::InputEncoding = [Console]::OutputEncoding = [System.Text.Encoding]::UTF8`后 ​ 输入`java -jar Personal.jar`可以正常运行程序。 #### 4.在cmd下运行*(run.exe不必须)* ​ 可以使用`./run.exe`运行程序。 ​ 在cmd下运行需要更改cmd输入和输出的编码方式。在输入`chcp 65001`后 输入`java -jar Personal.jar`可以正常运行程序。 ------ ### 三、生成题目说明 #### 1.小学题目 ​ 小学题目只会出现**"+" "-" "*" "/"**的基础四则运算符号,以及**"()"**。小学题目可能生成的式子以下将称为基础算式。 - 除号右侧不会为0。 - 括号只会在改变运算顺序时可能添加 - 括号根据元素个数选择括号对数 - 3 -> 80% 1对 20%0对 - 4 -> 90% 1对 10%2对 - 5 -> 50% 1对 50%2对 #### 2.初中题目 ​ 初中题目在基础算式上一定会添加**"√"或"^2"**的幂运算。 - 根号会加在数字左边 - 平方会加在数字右边 - 有低于30%的概率存在两个幂运算 #### 3.高中题目 ​ 高中题目在基础算式上一定会添加**sin(), cos(), tan()**, 低于50%的概率添加幂运算 - cos(90)不会出现在除号右侧 - tan(90)不会出现 2025.09.28, 软件2303班 202326010305 蒋雨辰, 撰