复用个人项目实现结对编程项目总结

一、项目需求

1、注册登录:用户提供手机号码,点击注册将收到一个注册码,用户使用该注册码完成注册并设置成功密码,然后利用注册信息登录;

2、功能选择:可以在线选择修改密码和继续做题;

3、正式出题:可以选择难度和题目数量,每道题有四个选项,最后显示得分;

4、结束部分:可选择继续做题或退出。

二、项目复用

之前的个人项目我和队友都是用C++写的,由于觉得java写界面和短信验证实现比C++容易,所以就改为java编程。这次的结对项目虽然有些功能实现仍然是参照了先前的个人项目,但是也有几个不同于个人项目的点:

1、注册登录:

在登录界面选择注册,注册时需要输入用户信息,其中密码必须限制在6-10位并且有大小写和数字,且再次输入的密码必须和先前一致,然后通过手机号接受短信验证码(事先在阿里云注册过),然后按下确定,如果密码不一致或者用户名手机号已被注册均会弹出提示信息,否则的话提示注册成功,并且会将用户信息存入到用户信息txt文件中,方便以后的查询使用和删除。后面的修改密码部分就是通过查询txt中用户信息以进行修改。

                                      

 2、出题部分:

出题部分仍然是沿用了先前项目的思路,基本上没有多大问题,可以正常显示在界面上,只是需要添加一个计算结果。这次项目的主要问题就出现在了计算结果的部分,我们的思路是利用Java中自带的函数将带sin、cos、tan、幂和开方的数转化为正常的数替换到字符串中,再利用了java中的eval来求解,最后可以得到一个double结果,再用一个单选将答案随机显示在界面上,通过下一题切换。我们在这里卡了很久,主要是发现一旦计算结果有问题,那么题目就无法显示在界面上,我们检查时就发现计算结果部分有些地方考虑漏了,然后一直在debug,最后是解决了问题,并且在最后可以正常显示分数。

     

3、界面显示

这次较个人项目最大的不同是UI界面,我们利用了Java swing中各种组件来实现界面,通过增加按钮监听功能来实现界面的切换。在添加背景图片过程中,设置panel透明后又发现单选框这些组件仍然遮住背景,所以又将按钮设置为透明,最后也完美地解决了问题。

 

三、项目总结

我和队友对于项目需求研究得比较仔细,事先根据项目需求弄清楚了要实现哪些模块,然后一步一步实现界面框架,再在界面框架上增加功能,双方也通过交流了解了项目上有哪些不足并且该如何改进。在这个过程中我也学会了很多,对于java 的界面实现更加熟练,包括如何美化界面和界面切换等。当然对于这个项目我也有一点不太满意的地方,我觉得最后的计算结果部分还是用逆波兰表达式比较好,包括出题部分还有需要改进的地方。总的来说,这一次的项目实现还是成功的,希望以后可以做得更好。

 

猜你喜欢

转载自www.cnblogs.com/hnu-ll/p/11604505.html