软件设计师第3部分JAVA语言
2012-12-26来源/作者:卫凯点击次数:654
第3部分JAVA语言
●试题1
阅读以下说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
下面的Java程序演示了程序竞争资源(Mutex的实例对象)而引起程序死锁的一种例子。【Java程序】
答案:(1)Thread
解析:从下面的程序不难看出。类A、B均是线程类,因此需要继承自类Thread。
答案:(2)synchronized
解析:使用同步关键字synchronized锁定互斥变量。
答案:(3)first=f
解析:将本类的私有变量first指向调用的实参变量f。
答案:(4)mutexX,mutexY
解析:为演示信号量互斥。对象threadA和threadB需要使用相同的互斥信号量。
答案:(5)start()
解析:开始线程threadA。
试题2
阅读以下说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
下面的Java程序能够根据用户的输入网址,显示相应网站的内容,并能够跟踪网站的超链接,显示链接的网页。注意输入网址的方式是参数方式。用户未输入网址的情况下,将显示清华大学的主页。
类LinkFollower的对象用于跟踪超链接,类explorer用于显示网页。
【Java程序】
答案:(1)implements
解析:实现超链接跟踪接口。此处填关键字implements。
答案:(2)args[0]
解析:接受用户传入的第一个参数,参数数组arg[]从0开始。
答案:(3)new LinkFollower(jep)
解析:为jep添加添加超链接监听对象,即LinkFollower的对象。
答案:(4)iipage
解析:设置将要显示网页的地址,它存放在变量iipage中。
答案:(5)setVisible(true)
解析:设置f为可见的,注意JFrame对象默认是不可见的。
●试题3
阅读以下说明和Java代码,将应填人n处的字句写在答题纸的对应栏内。
【说明】
下面程序中的类Queue是队列的实现,它具有如下方法:
>isEmpty() 判断队列是否为空。如果队列不为空,返回true;否则,返回false。 >enqueue(Object newNode) 入队操作。
>dequeue() 出队操作。如果队列为空,则抛出异常。
类Node表示队列中的元素;类EmptyQueueException给出了队列操作中的异常处理操作。【Java代码】
答案:(1)catch
解析:与try搭配捕获异常的关键字是catch。
答案:(2)EmptyQueueException e
解析:根据题干说明。类EmptyQueueException给出了队列操作中的异常处理操作。
答案:(3)throws EmptyQueueException
解析:类Queue的dequeue方法需要能抛出异常。因此首先应指定方法可以抛出异常。
答案:(4)throws(new EmptyQueueException())
解析:使用throw语句抛出异常。
答案:(5)Exception
解析:异常类都是从超类Exception派生而来的。
试题4
阅读以下说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某网络游戏存在战士(Fighter)、白法师(whitewitch)、野蛮人(Savage)三种角色,它们具有 Role接口,角色的类图关系如图3.1所示。现要将黑法师角色加入此网游以实现功能扩充。已知某第三方库已经提供了法师(Witch)类,且完全满足系统新增的黑法师角色所需的功能,但法师(Witch)不是由Role派生而来,它提供的接口不能被系统直接使用。代码6—1既使用了法师(Witch),又遵循了Role规定的接El,既避免了从头开发一个新的黑法师类,又可以不修改游戏中已经定义的接口。代码6—2根据用户指定的参数生成特定的角色实例。并对之进行显示操作。
游戏定义的接口与黑法师(BlackWitch)提供的显示接口及其功能如表3.1所示。
【代码6—1】
【代码6—2】
答案:(1)implements Role
解析:题目中要求BlackWitch具有Role接口,所以应该实现接口Role。
答案:(2)Witch
解析:因为需要重用Witch类。所以生成Witch类型的私有变量。
答案:(3)Witch()
解析:因为需要重用Witch类,l丢tllt BlackWitch实现Witch类的实例。
答案:(4)displayIt()
解析:调用displayh()来实现Role接口中的display方法。
答案:(5)Role
解析:主函数中s是Role类型的,所以9etRolelnstance(int type)返回值类型为Role。答案:(6)getRoleInstance(type)
解析:生成特定类型的角色实例.类型由type确定。
试题5
阅读以下说明和Java代码,将应填人(n)处的字句写在答题纸的对应栏内。
【说明】
在一图像处理系统中,开发者定义了一个图像类ImageCon,其中定义了图像具有的属性和处理图像的相应方法。当图像件的内容或状态发生变化时,关注此ImageCon类对象的相应的Image— view对象都要更新其自身的状态。一个ImageCon对象能够关联一组ImageView对象。当Image’ con对象的内容或状态发生变化时,所有与之相关联的ImageView对象都将得到通知,这种应用被称为观察者模式。以下代码写在一个Java源文件中,能够正确编译通过。
【Java代码】
答案:(1)Subject subject
解析:参数是Subject类型,后面可以是任意字符串。
答案:(2)Observer()
解析:获得Observer对象。
答案:(3)update(this)解析:通过调用update方法。通知所有的ImageView对象。
答案:(4)Observer
解析:ImageView类需要实现接口Observer 。
答案:(5)Subject subject
解析:与0bserver中一致,参数是Subject类型,后面可以跟任意字符串。
●试题1
阅读以下说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
下面的Java程序演示了程序竞争资源(Mutex的实例对象)而引起程序死锁的一种例子。【Java程序】
答案:(1)Thread
解析:从下面的程序不难看出。类A、B均是线程类,因此需要继承自类Thread。
答案:(2)synchronized
解析:使用同步关键字synchronized锁定互斥变量。
答案:(3)first=f
解析:将本类的私有变量first指向调用的实参变量f。
答案:(4)mutexX,mutexY
解析:为演示信号量互斥。对象threadA和threadB需要使用相同的互斥信号量。
答案:(5)start()
解析:开始线程threadA。
试题2
阅读以下说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
下面的Java程序能够根据用户的输入网址,显示相应网站的内容,并能够跟踪网站的超链接,显示链接的网页。注意输入网址的方式是参数方式。用户未输入网址的情况下,将显示清华大学的主页。
类LinkFollower的对象用于跟踪超链接,类explorer用于显示网页。
【Java程序】
答案:(1)implements
解析:实现超链接跟踪接口。此处填关键字implements。
答案:(2)args[0]
解析:接受用户传入的第一个参数,参数数组arg[]从0开始。
答案:(3)new LinkFollower(jep)
解析:为jep添加添加超链接监听对象,即LinkFollower的对象。
答案:(4)iipage
解析:设置将要显示网页的地址,它存放在变量iipage中。
答案:(5)setVisible(true)
解析:设置f为可见的,注意JFrame对象默认是不可见的。
●试题3
阅读以下说明和Java代码,将应填人n处的字句写在答题纸的对应栏内。
【说明】
下面程序中的类Queue是队列的实现,它具有如下方法:
>isEmpty() 判断队列是否为空。如果队列不为空,返回true;否则,返回false。 >enqueue(Object newNode) 入队操作。
>dequeue() 出队操作。如果队列为空,则抛出异常。
类Node表示队列中的元素;类EmptyQueueException给出了队列操作中的异常处理操作。【Java代码】
答案:(1)catch
解析:与try搭配捕获异常的关键字是catch。
答案:(2)EmptyQueueException e
解析:根据题干说明。类EmptyQueueException给出了队列操作中的异常处理操作。
答案:(3)throws EmptyQueueException
解析:类Queue的dequeue方法需要能抛出异常。因此首先应指定方法可以抛出异常。
答案:(4)throws(new EmptyQueueException())
解析:使用throw语句抛出异常。
答案:(5)Exception
解析:异常类都是从超类Exception派生而来的。
试题4
阅读以下说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某网络游戏存在战士(Fighter)、白法师(whitewitch)、野蛮人(Savage)三种角色,它们具有 Role接口,角色的类图关系如图3.1所示。现要将黑法师角色加入此网游以实现功能扩充。已知某第三方库已经提供了法师(Witch)类,且完全满足系统新增的黑法师角色所需的功能,但法师(Witch)不是由Role派生而来,它提供的接口不能被系统直接使用。代码6—1既使用了法师(Witch),又遵循了Role规定的接El,既避免了从头开发一个新的黑法师类,又可以不修改游戏中已经定义的接口。代码6—2根据用户指定的参数生成特定的角色实例。并对之进行显示操作。
游戏定义的接口与黑法师(BlackWitch)提供的显示接口及其功能如表3.1所示。
【代码6—1】
【代码6—2】
答案:(1)implements Role
解析:题目中要求BlackWitch具有Role接口,所以应该实现接口Role。
答案:(2)Witch
解析:因为需要重用Witch类。所以生成Witch类型的私有变量。
答案:(3)Witch()
解析:因为需要重用Witch类,l丢tllt BlackWitch实现Witch类的实例。
答案:(4)displayIt()
解析:调用displayh()来实现Role接口中的display方法。
答案:(5)Role
解析:主函数中s是Role类型的,所以9etRolelnstance(int type)返回值类型为Role。答案:(6)getRoleInstance(type)
解析:生成特定类型的角色实例.类型由type确定。
试题5
阅读以下说明和Java代码,将应填人(n)处的字句写在答题纸的对应栏内。
【说明】
在一图像处理系统中,开发者定义了一个图像类ImageCon,其中定义了图像具有的属性和处理图像的相应方法。当图像件的内容或状态发生变化时,关注此ImageCon类对象的相应的Image— view对象都要更新其自身的状态。一个ImageCon对象能够关联一组ImageView对象。当Image’ con对象的内容或状态发生变化时,所有与之相关联的ImageView对象都将得到通知,这种应用被称为观察者模式。以下代码写在一个Java源文件中,能够正确编译通过。
【Java代码】
答案:(1)Subject subject
解析:参数是Subject类型,后面可以是任意字符串。
答案:(2)Observer()
解析:获得Observer对象。
答案:(3)update(this)解析:通过调用update方法。通知所有的ImageView对象。
答案:(4)Observer
解析:ImageView类需要实现接口Observer 。
答案:(5)Subject subject
解析:与0bserver中一致,参数是Subject类型,后面可以跟任意字符串。