自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 哈工大软件构造2018期末考试试题答案(参考)

以下为我自己做的软工2018年期末考试,图可能有点糊,凑合着看吧,有什么错误,欢迎各位指正。

2020-07-11 10:50:10 2664

原创 软件构造复习小知识点总结(3)

1.以下关于ADT ThreadSafe的说法,不正确的是__A 任何对外发布的ADT都必须要做到thread safeB 不管怎么time slicing和interleaving,一个线程安全的ADT对象的RI要始终为真C 在不同的机器上、不同的OS上执行关于该ADT的程序,都不应该出现RI被违反的情况D 任何immutable的ADT都是threadsafe的E 做到ThreadSafe与否,只与ADT自己的内部rep和内部方法实现有关,与client是否应遵循特定条件有关正确答案:AD

2020-07-03 16:29:22 221

原创 软件构造复习小知识点总结(2)

1:单选题某个ADT的Rep是:private int no;private String name;它的AF是:AF(no) == ID of a student那么以下equals()正确的是__A return this.no == that.noB return this.no == that.no && this.name == that.nameC return this.no == that.no && this.name.equals(t

2020-06-26 17:49:09 234

原创 软件构造复习小知识点总结(1)

`String a = "5" + 6;System.out.println(a);`会在控制台打印出什么? [填空1]可填写“编译错误”、“运行错误”,或具体输出的字符串,无需带引号。int a = "5" + 6;System.out.println(a);此时的打印输出呢? [填空2]答案:56,编译错误。编译错误不用解释了,就是int声明和字符串“5”不匹配。第一个能成功输出56,是因为字符串加法能将int类型强转为String类型List<String&gt...

2020-06-18 19:08:33 344

原创 软件构造第六章复习心得

第六章主要讲解了如何增强程序的健壮性,即使在用户不遵守规约时,即输入不满住前置条件时,我们程序员也要保证程序不崩溃,能够继续运行。本章主要利用的工具即是,异常和断言,需要掌握的思想是防御式编程。先来看一下异常:错误与异常分类如下:Error:内部错误:程序员通常无能为力,一旦发生,想办法让程序优雅的结束用户输入错误(有争议), 设备错误, 物理限制Exception:异常:你自己程序导致的问题,可以捕获、可以处理其中RuntimeException: 类的内部代码错误(不应该捕获,应该避

2020-06-14 11:44:42 257

原创 lab3正则表达式应用总结

废话不多说,直接上题目,需要依据下面的要求从文件中读入信息,构造航班计划项集合,若有不符合的输入,直接抛出异常即可首先,题目给人感觉是非常复杂的,读入一共有十三行,一次性判断恐怕正则表达式会过于复杂,且可读性差。所以我的想法是先将数据读进来,大体格式正确即可,正则表达式如下:Pattern pattern = Pattern.compile(“Flight:(.?),(.?)\{DepartureAirport:(.?)ArrivalAirport:(.?)DepatureTime:(.?)Ar

2020-05-18 14:57:18 300

原创 软工lab3状态模式使用心得

先来谈一谈状态设计模式,简单的说就是给给对象添加状态属性,并且可以通过输入进行状态转换,并且在不同的状态下可以实现不同的功能,这与自动机的思想是一致的先来谈一谈naive想法,利用if,else就能实现,起始相当与实现了一个二阶矩阵,x记录原状态,y记录输入值,表中记录得到的新的状态。类似于下图但是这样实现得到的代码复用性很差,一旦添加心得状态或者添加新的输入,对源代码的改动很大。因而有了状态模式然后谈一谈在lab3中的应用,lab3让实现的状态转换如下(以可阻塞为例)首先创一个状态管理的类

2020-05-12 19:50:09 404 1

原创 软件构造lab2问题3ADT设计总结

这里直接开始实验三吧,题目要求蛮长的,简单的说完成ADT设计,最终实现能够进行国际象棋和围棋的游戏。先提纲挈领,ADT设计为了防止表示暴漏,不能将内部属性暴漏出去,故获取或改变都只能通过该类的方法去实现。因此我们需要先考虑你要实现的各层ADT分别能实现怎样的功能。这里我完成实验后最大的经验教训就是,底层的ADT设计确实要考虑最终的功能,但是主要还是要考虑本身的应有的功能,否则会出现底层ADT将...

2020-04-22 11:35:45 255

原创 软件构造遍历list删除元素方法总结

在做软件构造lab2时,忽然遇到的问题,老师上课其实将来,下面来汇总一下有关遍历list然后删除元素的方法,以lab2的set函数中删除边为例(这个函数是创建新编,但是如果两点间已存在边,则删除原有边再添新边)目前姑且有三种方法:1.for(int i=0;i< edges.size;i++){ if(edges.get(i).getsource()==vertex &&a...

2020-03-30 12:35:05 275 2

原创 软件构造3.2设计规约学习笔记

1.程序设计语言中的函数与方法“方法”是程序的“积木”,可以被独立开发、测试、复用使用“方法”的客户端,无需了解方法内部具体如何工作—“抽象”小结:规约不只是注释还包括函数的声明,是可以进入编译器编译的,并且,在软件开发中规约也是给程序员看的也是给用户看的,程序员凭借着规约编写程序,而用户通过规约理解函数的使用方法。稍稍比喻一下,规约相当于函数与方法的“说明书”,使程序员和用户达成一致...

2020-03-28 16:34:43 193

原创 软件构造Lab1实验心得

先聊一聊作为一个新手首次使用java的一些感受吧,具体的实验细节放到后面:(1)java编写代码需要更好的分块,且更需要了解各种接口即权限,它不像之前用的C语言只在一个文件下编程。(2)同时java的包装好的函数也比c多好多,需要大量记背,并善加利用,能极大地减少代码行数,增加可读性。这一点真的极其重要,完成一个任务,你用的工具不同,编码效率完全不同,就好比拿刀的永远打不过拿枪的(大概)。(...

2020-03-15 11:18:12 420

原创 计算机系统 大作业 题 目 程序人生-Hello’s P2P

计算机系统大作业题 目 程序人生-Hello’s P2P摘 要hello.c是所有程序员所见到的第一段代码,它看似简单易懂,实则再计算机内部不为人知之处有许多复杂的,值得我们深究的操作过程。本文将展示hello从c语言一步步走向可执行程序,再由开始执行走到进程结束被系统回收。通过见证hello.c的一生,我们将更加的深入了解计算机系统。所谓三大境界:看山是山,看水是水;看山不是...

2020-01-01 10:03:53 1936 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除