【结对编程基于java】中小学数学出题系统——图形化界面
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了【结对编程基于java】中小学数学出题系统——图形化界面,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2471字,纯文字阅读大概需要4分钟。
内容图文
![【结对编程基于java】中小学数学出题系统——图形化界面](/upload/InfoBanner/zyjiaocheng/1098/35bb3fb768e44b99a80d5fe3e327f4ed.jpg)
中小学数学出题系统UI
一、项目要求
-
- 1. 用户
- 2. 功能
- 二、结对编程思路
-
- 1. 分工思路
- 2. 步骤安排
- 三、编程内容总结
- 四、经验、教训总结
-
- 1. 收获
- 2. 心得
一、项目要求
1. 用户
小学、初中和高中学生。
2. 功能
- 所有功能通过图形化界面操作,可以是桌面应用,可以是网站(编程语言和技术不限);
- 用户注册功能。用户提供手机号码,点击注册将收到一个注册码,用户可使用该注册码完成注册;
- 用户完成注册后,界面提示设置密码,用户输入两次密码匹配后设置密码成功。密码6-10位,必须含大小写字母和数字。用户在登录状态下可修改密码,输入正确的原密码,再输入两次相同的新密码后修改密码成功;
- 密码设置成功后,跳转到选择界面,界面显示小学、初中和高中三个选项,用户点击其中之一后,提示用户输入需要生成的题目数量;
- 用户输入题目数量后,生成一张试卷(同一张卷子不能有相同题目,题目全部为选择题),界面显示第一题的题干和四个选项,用户选择四个选项中的一个后提交,界面显示第二题,…,直至最后一题;
- 最后一题提交后,界面显示分数,分数根据答对的百分比计算;
- 用户在分数界面可选择退出或继续做题;
二、结对编程思路
因为个人项目我们小组都是C++写的,所以大致上没有基于谁的代码,都是重新开始。
1. 分工思路
首先我们思考了java一切都是类的概念,想到了用户类和出题类两个方向,最后还有一个界面类。
在用户类中,实现登录、注册、短信验证、密码重置等有关用户信息的函数。
在出题类中,主要实现个人编程中的内容,在这个基础上,实现计分、得出正确答案的功能。
和队友商量过后,我负责用户类,队友负责出题类。
根据讨论结果,我们书写了设计文档,根据文档进行各自接下来的编程。
2. 步骤安排
- 第一天两人碰面讨论过后,我们产生了以上的分工,并计划第一步先完成功能的实现,后面再进行图形化界面交互。
- 两天过后,我们都独自完成了各自的部分,两个人再完成各自部分的图形化界面,将每个界面都设置为一个类,基本上各自要再写3-4个界面,通过监听将界面和功能合在一起。
- 第四天,我们将各自的代码通过实例化组合在一起,调试功能。
三、编程内容总结
1. user—part
完成用户方面的各项功能的类
设立了以下的函数
在jar包同一路径下的usermessage.txt内存入用户信息,在注册时需要写入信息,在登录时需要匹配信息,在重置密码时需要修改信息,重置密码部分比较复杂,因为想要修改文档中一个地方的内容,就需要将整个文档读出来再写进去,这里用到了StringBuffer,是一个很好的技巧。
因为打包jar包之后无法得到jar包的绝对路径,所以我们被迫在登录界面设计一个“安装地址”的输入框,将输入内容传送到路径参数中。
在验证码发送这部分中,我选择的阿里云短信服务,这部分要好好阅读阿里云提供的API文档,借鉴其他博客的方法,完成短信验证码服务。
其他部分比较简单,就是文件输入输出流,密码的格式判断,以及短信验证码的匹配。
2. SetQuestion
完成出题方面的各项功能
3. 图形化界面
完成图形化界面时,主要是类继承JFrame,在构造函数中添加各类组件,在监听中实例化user_part,调用user_part中的方法,在事例话近下来的界面类,将当前的界面设为不可见。
4. 结果
四、经验、教训总结
1. 收获
-
文件输入输出
在用户类的几个方法中,最难的可能就是文件的读取和写入,也实实在在的练习到了这类方法。java中有很多输入输出流,其中也有很多继承关系,名字也很详细,想要完完全全理清楚记下来还是有些困难,但是多加练习实践还是很多收获的,至少不会害怕此类问题。 -
图形化界面
在结对编程中,我承接了所有的图形化界面美化的工作,对于图形化界面的设置、基础美化也有了自己的心得,到了后面几个界面,流程都很熟悉,对于字体、背景颜色、各类组件的使用都得心应手了。 -
参数传递
在所有类的衔接过程中,参数传递极为重要,这个时候最需要的就是理清思路、沉下心。
在整个项目完成后,打包成jar包发送给队友测试时,发现登录注册功能都无法使用,原因就是在java程序里有一个调用当前路径的函数,但是打包成jar包后这个函数获取不到jar包的路径,也就无法完成文件的读取和写入。
尝试了很多办法之后发现都不行,最后得出两种办法:要么设立绝对路径,在每个测试电脑的固定位置新建一个txt文档,要么就是让测试者手动注入路径。我选择了第二种方法,因为我自己也很不喜欢电脑不知道的地方多出来一个文档。
选择了这个方法,就意味着要在整个过程中传递路径,对参数传递也有了自己的经验。 -
团队合作
合作确实是1+1>2的一个过程,队友不仅仅是帮你分担一部分工作量,更多的是两个人要互相理解配合,互相理清思路,稳定心绪,大大提高效率! -
个人学习
因为我自己对于java没有那么熟练,所以在这个项目工程中很大的锻炼了自学的能力,有不会的就学,出现问题就改。
实践出真知,我现在觉得这种锻炼方式要比从基础开始慢慢磨要好得多。
2. 心得
上图是我们整个的程序包,一共13个类,加起来应该要上千行代码,我和队友用了差不多4天时间。
整个过程肯定不是一帆风顺的,这四天都是早起、熬夜,整天整天地研究代码,在最后临近ddl的时候还出现了很多bug,但是在邮件顺利发过去的时候,我和队友不约而同的拍了一下掌。
没有一蹴而就的成果。非常感谢队友帮助我理清思路,分工明确。我们的分工可能没有任何科学依据,也不是课本里介绍的什么模型,但是在这个项目中应用地很好,在两种代码对接的时候也没有遇到太多的困难。
最后,完成一个符合自己要求的项目,可能是程序员工作中最快乐的事,那一刻满满的成就感,是比的无法比拟的。
希望世界所有程序员,天天开心。
原文:https://www.cnblogs.com/ZouXyouyoouyi/p/13789624.html
内容总结
以上是互联网集市为您收集整理的【结对编程基于java】中小学数学出题系统——图形化界面全部内容,希望文章能够帮你解决【结对编程基于java】中小学数学出题系统——图形化界面所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。