目录
- 简介
- 代码分析与功能测试
- 总结
一、简介
此次博客是我对结伴项目队友庞大军个人项目的评价(使用的语言是JAVA);
功能要求:
1、命令行输入用户名和密码,两者之间用空格隔开(程序预设小学、初中和高中各三个账号,具体见附表),如果用户名和密码都正确,将根据账户类型显示“当前选择为XX出题”,XX为小学、初中和高中三个选项中的一个。否则提示“请输入正确的用户名、密码”,重新输入用户名、密码;
2、登录后,系统提示“准备生成XX数学题目,请输入生成题目数量(输入-1将退出当前用户,重新登录):”,XX为小学、初中和高中三个选项中的一个,用户输入所需出的卷子的题目数量,系统默认将根据账号类型进行出题。每道题目的操作数在1-5个之间,操作数取值范围为1-100;
3、题目数量的有效输入范围是“10-30”(含10,30,或-1退出登录),程序根据输入的题目数量生成符合小学、初中和高中难度的题目的卷子(具体要求见附表)。同一个老师的卷子中的题目不能与以前的已生成的卷子中的题目重复(以指定文件夹下存在的文件为准,见5);
4、在登录状态下,如果用户需要切换类型选项,命令行输入“切换为XX”,XX为小学、初中和高中三个选项中的一个,输入项不符合要求时,程序控制台提示“请输入小学、初中和高中三个选项中的一个”;输入正确后,显示“”系统提示“准备生成XX数学题目,请输入生成题目数量”,用户输入所需出的卷子的题目数量,系统新设置的类型进行出题;
5、生成的题目将以“年-月-日-时-分-秒.txt”的形式保存,每个账号一个文件夹。每道题目有题号,每题之间空一行;
二、代码分析与功能测试
代码分析
主要代码分析:这里将加减乘除运算、加括号、加平方和平方根、加三角函数分为四个函数,在生成试卷的函数里有需要的再使用这些函数加进去,首先就很有效地避免了代码过长(不超过40行),其次根据随机数一起能更自由地生成不同的题目。
一、系统基本框架
1.登录,运行时会出现登录的提示:

2.输入账号密码登录,登录成功则提示当前出题类型,并请求输入生成题目数量

3.账号密码输入错误,提示错误,并重新输入

4.登录成功后可以切换类型

5.若是输入错误,则提示正确的切换类型

6.若不切换类型或者已经切换好类型后,输入数字可以生成对应的题目数量,范围为10-30,题目生成后可以再次输入

7.若是输入数字不在限制范围内,则提示错误,重新输入

8.输出-1则代表退出登录

二、写入文件
1.系统运行后,系统自动生成一个UserAccount的文件夹用于存放用户,此时里面什么都没有

2.当用户登录后(比如刚才张三1登录后),创建一个该用户的文件夹,同时该文件夹内部生成一个PastPaper的文件存储过去出的题,利于查重



3.生成题目以后会在用户文件里添加文件,格式为当前时间.txt

三、出题
1.生成小学题目

2.生成初中题目

3.生成高中题目

三、总结
代码的优点:1.各部分代码写得简洁利落,没有冗长的部分,每一个方法函数都没超过40行;
2.代码规范好,基本上没有代码规范错误;
3.试卷生成功能实现完备,生成的题目可以满足老师的要求
代码的缺点:1.在切换功能上面,没有确保切换的对象一定是在小学、初中和高中里,如下图,最后一个else没有确保范围,应改成和“切换为高中”匹配,并且在结尾加上break;

2.没有去除最外围的括号,形如(2+3+5)=这类的式子最外面的括号时不必要的
3.注解有些地方没有写清楚,只是添加了些字母上去
通过这次的个人项目以及互评,我也能深刻体会到做这个项目给我带来的好处以及不足,还有许多能提升的地方,更需要注意的细节等。