当前位置: 首页 > news >正文

作业五:结对项目-四则运算 “软件”之升级版

这个作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2232

结对成员:陈淇舒 201606110108

同伴的博客地址:https://www.cnblogs.com/fulanjiang/p/9847802.html

同伴的远程github地址(源代码)为:https://github.com/Chenqishu/cqs

调试环境:IntelliJ IDEA 


 一、需求分析

  • 程序基本要求

    1.从个人项目出发,将程序改造成一个单机带用户界面(不是控制台)的程序,这个程序最基本要达到:

    2.自动生成题目,单个题目最多不能超过4个运算符,操作数小于100。

    3.用户可以输入答案

    4.若用户输入答案正确,则提示正确;若答案错误,则提示错误,并要提示正确答案是多少。

  • 扩展方向(已实现)

    1.用户答题结束以后,程序可以显示用户答题所用的时间

    2.用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数

    3.程序可以出单个整数阶乘的题目:如:4!=24

    4.程序可以设置皮肤功能,可以改变界面的颜色即可。

二、结对过程

  • 编程分工

    本人——林永浩:负责编码扩充以下两个方向,负责界面设计:

      用户答题结束以后,程序可以显示用户答题所用的时间。

      程序可以设置皮肤功能,可以改变界面的颜色即可。

    同伴——陈淇舒:负责编码扩充以下两个方向,实现代码整合:

      用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数。

      程序可以出单个整数阶乘的题目:如:4!=24。

  • 详细设计(附部分源代码)

   计时功能实现的部分代码如下:

public void run() {                                                                                                 //  完成时间计时
        int second = 0;
        int minute = 0;
        String time;
        timeLabel.setText("用时 00:00");                                                                               // 初始化用时
        while (true) {
            try {
                Thread.sleep(1000);                                                                               //  按时间设置
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            second++;
            if (second == 60) {
                second = 0;
                minute++;
            }
            if (minute < 10) {
                time = "用时 " + "0" + minute + ":";
            } else {
                time = "用时 " + minute + ":";
            }
            if (second < 10) {
                time = time + "0" + second;
            } else {
                time = time + second;
            }
            timeLabel.setText(time);
        }
    }

 

  • 运行截图

    开始界面,用户做任何操作前

    

 

    用户输入的题目数是1-5之内,点击开始的时候,正常显示运算题目,计时开始:

    

 

    用户点击交卷,计时结束,并在侧边显示用户做对了多少道题,而做错的题目输出正确的答案:

    

 

    当用户点击界面左上边的“背景”按钮的时候,弹出调色器,改变题目显示区域的颜色:

    

    

 

    当用户输入的题目超过5这个数,输入框上面的提示框便会显示“题目数应该在1-5之内”的提示信息:

    

三、收获总结

  在结对学习的过程中,学会了分工与合作,相比个人完成项目,更多的是要考虑同伴的感受,只有这样才能更好完美的完成项目。这次的项目总的来说还有可以提升的空间,有时间的话后期会继续改进的。

四、过程耗时估计与时间统计表

PSP2.1Personal Software Process StagesTime Senior StudentTime
Planning计划86
· Estimate估计这个任务需要多少时间1210
Development开发9085
· Analysis需求分析 (包括学习新技术)810
· Design Spec生成设计文档00
· Design Review设计复审35
· Coding Standard代码规范43
· Design具体设计1013
· Coding具体编码3530
· Code Review代码复审109
· Test测试(自我测试,修改代码,提交修改)1530
Reporting报告96
·测试报告00
·计算工作量52
·并提出过程改进计划00

五、结对学习过程照片

 

转载于:https://www.cnblogs.com/linxiLYH/p/9857802.html

相关文章:

  • EOS 开发终极神器-vscode (你绝对找不到的干货)
  • 一、计算机的组成
  • 《Redis开发与运维》笔记
  • Result Maps collection already contains value forxxx
  • Windows下安装最新版的MongoDB
  • 微信互联网:如何让别人找到你的小程序?
  • Unity重置Animator到初始状态和重复播放同一个Animation
  • 一种轻量级的C4C业务数据同步到S/4HANA的方式:Odata通知
  • 发送HTTP_GET请求 表头application/json
  • 网络文件共享-SAMBA
  • 如何辨别程序员的水平?
  • jQuery清空标签内容--防止内存泄露
  • 对“工厂方法”,突然茅塞顿开
  • 算法第三章上机实践报告
  • 2018-2019-1 20165320 《信息安全系统设计基础》第六周学习总结
  • 【css3】浏览器内核及其兼容性
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • android 一些 utils
  • ES6 学习笔记(一)let,const和解构赋值
  • HomeBrew常规使用教程
  • Javascript弹出层-初探
  • java中的hashCode
  • Mithril.js 入门介绍
  • 编写符合Python风格的对象
  • 创建一个Struts2项目maven 方式
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 后端_ThinkPHP5
  • 解决iview多表头动态更改列元素发生的错误
  • 聊聊flink的BlobWriter
  • 批量截取pdf文件
  • 浅谈Golang中select的用法
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 学习笔记:对象,原型和继承(1)
  • 原生 js 实现移动端 Touch 滑动反弹
  • 自制字幕遮挡器
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • # 再次尝试 连接失败_无线WiFi无法连接到网络怎么办【解决方法】
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • $.ajax()
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (1)Map集合 (2)异常机制 (3)File类 (4)I/O流
  • (1)SpringCloud 整合Python
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (附源码)springboot 基于HTML5的个人网页的网站设计与实现 毕业设计 031623
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (推荐)叮当——中文语音对话机器人
  • (一)kafka实战——kafka源码编译启动
  • (一)基于IDEA的JAVA基础12