结队编程的队友俞神采用了JAVA进行个人项目的编程,项目由五部分组成:
1.main:主程序入口
2.menu:进行了命令行与用户的交互处理
3.Teacher:存储了可以登陆的老师的用户信息
4.Question_generation:生成算式
5.Check_Question:检查生成的算式是否合法
程序结构分析
Mathematical_Questions_Generation.java:
Menu.java:
菜单执行类,含有四个函数:
initial_menu():
初始界面,实现进入,退出程序提示
log_in():
登录界面,实现登录功能(账号密码均正确登录;账号正确密码错 误则提 示下重 新输入密码;账号不存在则提示下重新输入账号密码)
function_menu():
操作功能界面,实现生成数学题目,变更题目难度,切换当前账号的 功能
change_level():
变更题目难度界面,实现更换当前账号难度的功能
Question_Generation:
生成数学算式类,含有五个函数:
txt_generation():
生成实时时间命名的txt文件
primary_question_generation():
生成小学难度的数学题目
junior_question_generation():
生成初中难度的数学题目
senior_question_generation():
生成高中难度的数学题目
generate_parentheses():
给生成的各种难度的数学题目加上括号
读了这部分代码,我发现队友是一位一位的生成算式和符号,然后生成算式后,随机的在算式中添加括号
Check_Question:
检查生成算式类,将已经生成的题目进行检测,删除括号出现问题的算式
这部分,队友利用双指针遍历了算式,检查括号的合法性,如果合法,则算式加入题目,无效的话,则不把这个算式加入题目
代码优点
1.程序满足了项目的需求
2.代码命名规范,结构清晰,美轮美奂,让人自叹弗如
3.程序结构清晰
4.与用户交互的部分特别友好
代码缺点
美中不足的是代码缺少必要的注释