总结:
本次结对编程,我负责题目部分,包括题目计算和选项生成,以及分数处理,在实现的过程中出现很多问题,但所幸队友给力,在完成自己的内容时抽时间帮我分析报错,十分感谢。心力憔悴不忍回顾这两周,下附边做边写的实验日志:
9.17
收到结对项目任务
项目需求:
9.18
开始学习字符串运算,简单了解到运算中栈的使用方法
申请阿里云短信服务,成功调用API完成手机号发送验证码模块
问题分析处理:
- 在使用短信服务的demo程序时,程序一直显示报错,查找报错信息为没有预先下载aliyun的jar包添加进工程,花长时间在官网按照功能下载。已解决
- 域名错误无法连接,检查问题得知没有添加短信服务的IP:dysmsapi.aliyuncs.com,已解决
9.19
进行字符串运算模块,完成了初步代码,可以进行简单的四则运算;
在字符串运算之前生成题目时,新建试卷生成类直接调用搭档个人项目中的题目函数,十分简便
问题分析处理:
- 对复杂运算符和操作数在栈的存储还有些模糊,无法有效识别单目运算符并进行计算;未解决
- 生成题目存在格式问题,部分题目不适用在计算模块,通过修改生成题目代码,格式全部符合。已解决
9.20
继续完善字符串计算的单目运算部分
问题分析处理:
- 在字符串计算模块的不同函数中添加输出来进行调试,发现在开始的字符划分中没有正确识别sin、cos、tan运算符。StringTokenizer进行字符串分割时每次识别一个字符,例如并没有sin当作一个字符串来处理,而是分别将s、i、n当作分隔符。无法解决使用子字符串作为分隔符,所以处理办法为将三角函数字符串在分割之前进行替换,sin替换为s,使得s作为一个分割符被划分,结合输出结果,得到验证为正确。已解决
- 成功识别运算符后,单目运算的结果也可以正确输出。已解决
9.21
开始生成题目及选项并显示在GUI题目面板上,
问题分析处理
- 无法在P5题目面板中直接使用P4难度题目选择得到的数量和试卷类型,所以无法完成存放题目和选项字符串数组的初始化。未解决
9.22
继续解决题目显示相关问题
问题分析处理
- 将存放题目的字符串数组移至P4,此时可以使用输入的题目数量并得到生成的题目,但是在P5中调用依然输出为空;与404讨论得知,每个面板的相关设置在构造函数中来完成,java的初始化顺序是先静态后构造,并且鼠标点击触发事件要一直在监听函数中进行。将P5的构造声明从Main类中移至P4中,问题解决。
9.26
调整部分页面边框布局和字体大小,尽量和谐美观;
将题目对错显示改为正确选项标绿,错误选项标红;