后三次OO作业小结

第四次作业

第一次尝试多线程,恩,让我没想到的是多线程中使用一些容器会导致一些莫名其妙的异常。在最后2小时发现自己只能通过重写来消除这个bug让人有点绝望。根本原因是eclipse将我的电脑搞崩了,导致我无法提前写。最后的提交的版本还是偶尔会产生异常。教训还是有一些的:首先是老老实实的按照指导书的说法来模拟,一开始期望用来简化判断的方法最后都被推翻了导致浪费了很多时间;二是写多线程是使用容器一定要慎重。

类图

代码分析

测试

对方的程序也是偶尔对经常错,稍一试探我们便产生一种英雄惜英雄的感觉。我觉得这都是多线程的问题,不要在这样严格的要求他了。测试策略基本没有,反正稍一测试便是bug。

第五次作业

恩,这次基本没问题了。虽然觉得文件重命名与移动的判断方法有点蠢蠢的,但是只要按照指导书模拟就没问题。中间指导书改变一次线程的实现要求:按照任务来分线程,感觉让我的代码变得丑了一些,但是后来仔细的分析了一下,貌似这样避免了我之前按触发器分线程的一些bug。

类图

代码分析

测试

对方的快照记录的不是很合理,这也是这个作业的一个难点了吧。

第六次作业

这次的作业还是蛮好抽象的。但是自己的代码忘记在出租车随机游走时判断时间了,每次只sleep(20ms),我还以为200ms就这样短呢。

类图

代码分析

测试

最后我跟测试者和被测者都很快乐。

心得体会

这个三次作业都是多线程,不得不说,多线程中尝试一些的容器让我产生了难以磨灭的记忆。但是我觉得最后两次作业都比之前要好抽象很多,但是相应的测试要很费神,搞得我很懒去测试。

原文地址:https://www.cnblogs.com/PowerofChoas/p/8977804.html

时间: 2024-11-25 17:24:20

后三次OO作业小结的相关文章

mysql的三个故障解决小结

mysql使用过程中经常会遇到的三个故障,在此小结一下. 1.MySQl服务无法启动 我们在使用mysql的过程中,常会遇到MySQl服务无法启动,具体报错信息:Starting MySQL ERROR.The server quit without updating PID file (/[FAILED]l/mysql/) 对这样的错误,网上的分析解释有很多,有人分析把skip-federated这个参数屏蔽就可以了,也有人认为删除mysql-bin.index这个文件就可以启动服务.或者检查

第三次大作业-作业准备

在第二次大作业结束之后,第三次大作业-白盒测试实践在三周内进行. 由于大家刚进行完一次大作业的辛苦工作,于是本组决定第一周交由大家复习学习之前的黑盒测试实践.搜集资料.自发配置工作环境和工具.进行自己的数学课程复习以及实验室工作.在这段时间内,大家对选择的测试工具进行了一定的了解,在SPOC课程中进行视频学习,学习白盒测试相关的知识点,并在今晚进行了一定的整合. 预计将从明天起正式分工投入到这次作业的工作中! 一.白盒测试实践作业 (1)阶段一:熟悉白盒测试方法. (2)阶段二:熟悉代码复审的过

软件工程(2018)第三次个人作业

软件工程(2018)第三次个人作业 前方高能:本次作业中含有大量基础知识,请不要嘲笑我QAQ 第三次作业来了.选择看似相比有难度的(1)(其实是看不懂(2)在干什么) 题目要求:题目(1):最大连续子数组和(最大子段和) 背景 问题: 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],-,a[n],求该序列如a[i]+a[i+1]+-+a[j]的子段和的最大值.当所给的整数均为负数时定义子段和为0,依此定义,所求的最优值为: Max{0,a[i]+a[i+1]+-+a[j]},1

3085 相同的后三位

3085 相同的后三位 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 青铜 Bronze 题目描述 Description 对于给定的p,编写程序求最小正整数m,n(0<n<m)为何值时,pm与pn的最后三位数字相同. 输入描述 Input Description 一个正整数p(100≤p≤9999) 输出描述 Output Description 一行,最小的m和n,m和n用空格隔开.如有多组,输出最小的m那组. 样例输入 Sample Input 100 样例输出 Sa

求斐波那契数列的相邻两项的比值,精确到小数后三位。

未完成,只能假设知道是9和10代入. 代码如下: package zuoye; import java.math.BigDecimal; /* * 求斐波那契数列的相邻两项的比值,精确到小数后三位. * p1,p2,p3......pi,pj,...求pi/pj * 1 1 2 3 5 8 13 * 5/8,8/13,...收敛 */ public class Test { static double feibo(int x){ if(x==1||x==2) return 1; return f

求随机数,按后三位排序

编写程序实现以下功能:    //随机产生20个正整数存入数组a中,且每个数均在1000-9999之间(包含1000和9999).对数组进行排序,要求按每个数的后三位的大小进 行升序排列,然后取出满足此条件的前10个数放入数组b中,如果后三位的数值相等,则按原先的数值进行降序排列.最后输出数组b的内容 #import <Foundation/Foundation.h>int value(int x){ //如何求出5609 的后三位数    int y = x /1000;    int c

UVA - 11029Leading and Trailing(快速幂取模取后三位 + log10()取前三位)

题目: UVA - 11029Leading and Trailing(快速幂取模取后三位 + log10()取前三位) 题目大意:给你N的k次方,然后要求你求出这个数的前三位和后三位. 解题思路:因为n和k都很大,这个数求出来是大数,所以可以用快速幂取模求后三位,因为后面的三位和前面的位数的没有关系.前面的三位比较难办.设x = log (n^k)  = k * log10(n),那么10^x = k * log10(n).将X = a(整数) + b(小数),整数部分10^a只是移动小数点,

JavaScript如何根据当天算出前三天和后三天

经杨秀徐批准 中央军委颁发意见建设新型司令机关news 杨秀徐会见到北京述职的香港特首梁振英news 海军372潜艇官兵先进事迹报告会举行 杨秀徐作指示news 中央农村工作会议在京召开 李克强作重要讲话 张高丽出席news 全国政协副主席令计划涉嫌严重违纪接受组织调查 澳门回归15周年:杨秀徐视察驻澳门部队 <!DOCTYPE html> <head> <title>JavaScript如何根据当天算出前三天和后三天</title> <script

LightOJ 1282 - Leading and Trailing (求n的k次方的前三位数字 后三位)

题意:http://www.lightoj.com/volume_showproblem.php?problem=1282 n^k = a.bc * 10.0^m:等式两边同时加上log10k*log10(n) = log10(a.bc) + m;m为k * log10(n)的整数部分,log10(a.bc)为k * lg(n)的小数部分;x = log10(a.bc) = k*log10(n) - m = k*log10(n) - (int)k*log10(n);x = pow(10.0, x