标签:手机 bsp 简约 自定义 管理包 用户信息 动态 遍历 动态添加
一、语言
JAVA
二、出题器流程图
三、项目概览
说明:
1、AccountManagement 账户信息管理包,支持检查用户登陆信息合法性
2、Daemon 验证码倒计时
3、GUL 出题器界面
4、IdentCode 发送短信验证
5、images 界面插图
6、Main 运行主函数
7、Work 计算题目答案
(1)BinaryTree 题目二叉树,把随机出的题目构件成方便计算结果的二叉树结构
(2) Working 生成题目,检测题目合法性(包括题目查重),构件题目二叉树,遍历二 叉树,计算题目答案
四、所获所感
0、国庆节开始了
1、做白日梦阶段
当拿到结对编程项目需求时,心中不免一阵小开心。一看这些需求不是在我的个人项目中就实现了嘛,只是UI要求和之前略有不同,信心满满的做白日梦:“只需要稍微修改下,加点功能就好啦”(后来想想,这种行为,简直就像自己认为自己可以一晚上复习完大学物理,然后去参加第二天的考试……)。
2、界面强迫症阶段
开始设计UI,由于两人的强迫症,首先是受不了个人项目中LowLow的界面,一致认为是因为Java自带UI太单调了(疯狂甩锅)。下载了一堆皮肤包,两人一个一个试,得出结论,那些免费的皮肤包,还没有默认主题好看呢。后来看了一些现有软件和网站的登陆界面,一致觉得,在一个简约空旷的背景上添加一个袖珍登陆框是最符合两人的审美的。小伙伴突发奇想,JavaUI是不是可以添加自定义背景呢?我怎么知道……百度啊!!!
话不多说。百度如何给GUI自定义背景,度娘的答案五花八门。就拿那个重绘函数来说,由于有好几个,有些博主说只能使用repaint(),有些则说只能使用revalidate()。后来自己静下心来看了好些API文档(全英文看的快吐血了……),终于明白了重绘是怎么一回事,顺利解决界面背景与袖珍Jpanel的设置(后来还应用到了组件的动态添加,完美!)。两个人一步一步处理完登陆、注册、测试等界面的设计与衔接(用的绝对位置布局,一点一点调整每一个控件位置的无奈在这里就不说了……)。
3、业务逻辑烧脑阶段
接下来进入主要业务逻辑的设计,由于之前的生成题目模块完美契合结对编程中两人的想法(每次生成一道题目,并进行检查,刚好和这次的每次刷新一题一致),而且可模块化程度高,虽然之前个人编程时由于时间比较紧,整个模块显得不是很精简,但是这次可是在十一黄金周啊(尽管我们没假期,但它好歹是祖国妈妈的节日,必须重视!!!),时间上略略略有充裕。。。。。。
和小伙伴一块完成了对上次代码的整合,主函数瞬间清爽了不少,分块的功能函数也短了一点。然后就开始计算自己生成的题目,隐约记得数据结构老师说过,算式的计算由于不同运算符的优先级不同,是最适合用二叉树处理的了。然后就在度娘上找思路,确实,有不少这样的源码,但没有一个是拿Java写的(此处省略一万字对这两种语言的吐槽……),
Java虽然没有指针,但它可以设计类来模拟C++的指针啊……好吧,靠自己了,设计好二叉树所需的数据结构,然后就开始重构代码了。5天后,终于改完了代码(哈哈,中途略去自己为祖国母亲庆祝六十九岁生日的时间)。最后就是短信验证码模块,这时候,就要感谢助教学长啦。学长写的阿里云验证码接口,把信息改成自己的账户,完美!!!全程中自己感到最有意思的还是验证码的等待倒计时,尝试了一波多线程的操作,虽然功能简单,但是这也是一次对多线程的实际应用呢,放在界面上,也有一点小灵动。
4、国庆假期不见了
总之,此次的结对编程项目,虽然过程曲折,偶感痛苦,但最终收工的时候还是很有成就感的,自己对Jave这门语言的运用也更加熟练,对软件工程的兴趣也更添了几分,相信之后的项目也会像这次一样,在实践中学习,进步。未来可期!
五、成果展示
1、首页
2、手机号登陆界面,登陆成功前提:手机号输入合法且注册过,在倒计时内输入正确验证码。
3、用户名登陆,登陆成功前提:用户名注册过且密码输入正确。
4、用户注册,注册成功前提:用户名未已存在,手机号输入合法,验证码输入正确,进行密码确认正确。
6、试卷定制,选择出题年级,定制题目数量。
7、答题界面,单击开始按钮开始答题,单击重置,返回第一题。
8、答题结束,显示成绩。
9、单击注销,用户账户注销,退出答题;单击继续测试,跳入试卷定制界面继续出题。
10、用户信息管理库,存注册用户的信息。
标签:手机 bsp 简约 自定义 管理包 用户信息 动态 遍历 动态添加
原文地址:https://www.cnblogs.com/majiekun/p/9757571.html