【软件工程实践】结对项目-四则运算 “软件”之升级版
这个作业要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2232
githup地址是:https://github.com/cmhbaba/test20180912/blob/master/Main.java
结对对象博客是:http://www.cnblogs.com/fshost/
结对同学:梁添鹏 201606120087
编程环境是:IntelliJ IDEA Community Edition 2017.2.3 x64
一、需求分析
从个人项目出发,将程序改装成一个单机带用户界面(不是控制台)的程序,这个程序最基本要达到:
- 生成题目,单个题目最多不能超过4个运算符,操作数小于100。
- 用户可以输入答案
- 若用户输入答案正确,则提示正确;若答案错误,则提示错误,并要提示正确答案是多少
4个拓展方向:
1、用户答题结束以后,程序可以显示用户答题所用的时间
2、程序可以出单个整数阶乘的题目:如:4!=24
3、程序可以设置皮肤功能,可以改变界面的颜色即可。
4、用户答题结束以后,程序可以显示用户答题所用的时间
本人负责的是:窗口的设计与制作、题目的输出、答案的对比、按钮点击时间、代码整合。
结对对象做的是:皮肤功能,统计用户所用时间,阶乘功能
二、详细设计
编程环境是:IntelliJ IDEA Community Edition 2017.2.3 x64
语言:java
由于之前我的是控制台输出的,所以现在就要弄一个可视化窗口,用到了JFram类。并且要在框架上面设置布局,并且把组件添加上去。然后把随机出题的题目和答案分别装进一个数组里面储存起来,后面再把数组的题目对应输出在窗口上。至于答案,就要获取到用户在文本框里面输入的值,在与对应题目的答案对比,然后设置一个数,如果做对一道题这个数就加一,这样就能记录做正确的题目数。
详细代码我已经上传到githup上面:
githup地址是:https://github.com/cmhbaba/test20180912/blob/master/Main.java
下面是部分代码:
这个是新增的添加阶乘的题目代码:
public static long factorial(int n){if (n==0){return 1;}else {long num=n * factorial(n-1);return num;}}
这个是点击确认按钮,统计花费时间的代码和统计正确题目的代码:
在这里统计花费时间,我们是在前面点击开始按钮的时候,会获取系统时间,然后点击确认之后就会提交答案并且统计,这时候就会在此获取系统时间,与前一次相减,就获得了所用的总共时间,再把时间显示带窗口上,
if (e.getSource()==endButton){//点击确认按钮做的事情Long endTime=System.currentTimeMillis();long timeout=(endTime-timec)/1000;time.setText("总共花费的时间为"+timeout+"s");d1=(int) Double.parseDouble(K1.getText());d2=(int) Double.parseDouble(K2.getText());d3=(int) Double.parseDouble(K3.getText());d4=(int) Double.parseDouble(K4.getText());d5=(int) Double.parseDouble(K5.getText());int answerT=0,answerF=0;if (d1==daan[0]){K1.setText(String.valueOf(daan[0]));answerT++;}else{answerF++;}if (d2==daan[1]){K1.setText(String.valueOf(daan[1]));answerT++;}else{answerF++;}if (d3==daan[2]){K1.setText(String.valueOf(daan[2]));answerT++;}else{answerF++;}if (d4==daan[3]){K1.setText(String.valueOf(daan[3]));answerT++;}else{answerF++;}if (d5==daan[4]){K1.setText(String.valueOf(daan[4]));answerT++;}else{answerF++;}K6.setText(String.valueOf(answerT));}
下面是改变窗体颜色的代码:
窗口上有一个按钮,点击就会改变窗体背景颜色。
if (e.getSource()==changButton){//点击改变颜色按钮事件int color=new Random().nextInt(5);switch (color){case 0:{p1.setBackground(Color.orange);break;}case 1:{p1.setBackground(Color.BLUE);break;}case 2:{p1.setBackground(Color.green);break;}case 3:{p1.setBackground(Color.yellow);break;}case 4:{p1.setBackground(Color.pink);break;}}}
三、运行结果
四、总结
由于之前是在控制台输出的,虽然之前做过可视化窗口的设计,但是由于太久没做就忘记了,也是在网上找了很久的和查书才慢慢想起来怎么做,一点点的做出来的,总体上没什么问题。
五、工作照片
转载于:https://www.cnblogs.com/cmhbaba/p/9867753.html
【软件工程实践】结对项目-四则运算 “软件”之升级版相关推荐
- 结对项目——四则运算 “软件”之升级版
这个作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2232 我的github远程仓库的地址为:https://git ...
- 结对项目-四则运算 “软件”之升级版
本作业要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2213 我的githup地址为:https://github.com ...
- 作业五—个人项目-小学四则运算 “软件”之升级版1
作业五-个人项目-小学四则运算 "软件"之升级版 作业要求来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/21 ...
- 软件工程实践结对作业一
这个作业属于哪个课程 <2022年福大-软件工程.实践-W班> 这个作业要求在哪里 <软件工程实践结对作业一> 这个作业的目标 <结对合作,NABCD模型,需求分析,原型 ...
- 软件工程实践——结对作业一
这个作业属于哪个课程 2022年春软件工程实践F班 这个作业要求在哪里 软件工程实践--结对作业一 结对学号 221900111 221900213 这个作业的目标 1.阅读<构建之法>第 ...
- 软件工程基础课-结对项目纪实
2018.5.7 撸起袖子 2018.5.8 成功迈出第一步 2018.5.9~5.11 我的团队项目博客 2018.5.12 文本数据的格式 2018.5.13 能求最短路径了 2018.5.14 ...
- 软件工程实践————结对作业二
这个作业属于哪个课程 软件工程实践2022年春-F班 这个作业要求在哪里 软件工程实践----结对作业二 结对学号 221900418 221900403 这个作业的目标 实现上次作业的原型中的部分功 ...
- 【软件工程实践 · 团队项目】 第一次作业
[软件工程实践 · 团队项目] 第一次作业 Part 0 · 简 要 目 录 Part 1 · 队 伍 阵 容 Part 2 · 会 议 记 录 相 关 Part 3 · 会 议 讨 论 记 录 Pa ...
- 软件工程基础课-结对项目-地铁
一.项目地址 二.PSP 三.解题思路 3.1 面向对象设计与分析 3.2 关键算法的实现 3.2.1 Dijkstra算法 3.2.2 鸡肋的全遍历 四.设计实现过程 4.1 代码风格规范 4.2 ...
最新文章
- 《转》 ImportError: No module named caffe 的解决方案
- html自定义标签提示,用简单的jquery+CSS创建自定义的a标签title提示tooltip_HTML/Xhtml_网页制作...
- mysql数据库怎么安装建表_mysql数据库安装及建表注意事项
- go java web框架_java程序员10分钟可上手的golang框架golang实战使用gin+xorm搭建go语言web框架restgo...
- Hadoop 跨集群复制文件
- JAVA实体类不要使用基本类型,基本类型包含byte、int、short、long、float、double、char、boolean...
- 2017.10.13 轮状病毒 失败总结
- 初识OpenFlow协议
- Scheduler:Event UID not valid(转)
- 在Netty中使用Apache common fileupload
- cada0图纸尺寸_制图标准规定图纸幅面和格式_A0,A1,A2,A3,A4图纸标准大小和格式_飞翔教程...
- 4. 木马病毒和免杀技术,另一种免杀思路
- 硬件管理 远程开机,网络开机
- python音频处理(持续更新)
- 医疗是什么?AI医疗概念解析AI
- 第二天学习笔记:(MDN HTML学习、web安全策略与常见攻击、语义化)
- SurfaceView打造自定义时钟ClockView
- tensor多维向量的简单理解
- 因子图优化原理(iSAM、iSAM2论文解析)
- 闲鱼x-sign参数
热门文章
- linux查询所有目录的txt文件,Linux 在指定目录下的所有文件中查找text文本的方法...
- tomcat错误: javax.management.MalformedObjectNameException: Invalid character ':' in value part of prop
- mysql 升级 openssl_升级openssl
- awx文件解析_Android so(ELF)文件解析
- 观察者设计模式 php,PHP设计模式 - 观察者模式
- php常用操作数组函数,PHP常见数组函数用法小结
- stm32中断优先级_关于STM32 (Cortex-M3) 中NVIC的分析(转)
- 后勤管理系统_教育信息化2.0,2019年校园智慧后勤管理系统五大品牌
- 学python编程_学习Python编程,我们应该如何学?学习内容包括哪些?
- php cgi路径解析,php.ini中的cgi.fix_pathinfo选项