首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下技术说明和Java代码,将Java程序中(1)~(5)空缺处的语句填写完整。 [说明] 类Queue表示队列,类中的方法如表4-12所示。 类Node表示队列中的元素;类EmptyQueueException给出了队列中的异常处理
阅读以下技术说明和Java代码,将Java程序中(1)~(5)空缺处的语句填写完整。 [说明] 类Queue表示队列,类中的方法如表4-12所示。 类Node表示队列中的元素;类EmptyQueueException给出了队列中的异常处理
admin
2009-02-15
43
问题
阅读以下技术说明和Java代码,将Java程序中(1)~(5)空缺处的语句填写完整。
[说明]
类Queue表示队列,类中的方法如表4-12所示。
类Node表示队列中的元素;类EmptyQueueException给出了队列中的异常处理操作。
[Java代码]
public class testmain { //主类
public static viod main (string args[]) {
Queue q= new Queue;
q.enqueue("first!");
q.enqueue("second!");
q.enqueue("third!");
(1) {
while(true)
system.out.println(q.dequeue());
}
catch( (2) ) { }
}
public class Queue { //队列
node m_firstnode;
public Queue(){m_firstnode=null;}
public boolean isempty() {
if (m_firstnode= =null)
return true;
else
return false;
}
public viod enqueue(object newnode) { //入队操作
node next = m_firstnode;
if (next = = null) m_firstnode=new node(newnode);
else {
while(next.getnext() !=null)
next=next.getnext();
next.setnext(new node(newnode));
}
}
public object dequeue() (3) { //出队操作
object node;
if (is empty())
(4)
else {
node =m_firstnode.getobject();
m_firstnode=m_firstnode.getnext();
return node;
}
}
}
public class node{ //队列中的元素
object m_data;
node m_next;
public node(object data) {m_data=data; m_next=null;}
public node(object data,node next) {m_data=data; m_next=next;}
public void setobject(object data) {m_data=data; }
public object getobject(object data) {return m_data; }
public void setnext(node next) {m_next=next; }
public node getnext() {return m_next; }
}
public class emptyqueueexception extends (5) { //异常处理类
public emptyqueueexception() {
system. out. println ( "队列已空!" );
}
}
选项
答案
这是一道要求读者掌握Java异常处理机制的程序分析题。本题的解答思路如下。 异常是指计算机程序执行期间中断的正常流程的事件。例外是在程序运行过程中发生的异常事件,比如除0溢出、数组越界、文件找不到等,这些事件的发生将阻止程序的正常运行。 当一个方法中发生错误时,该方法创建一个对象(该对象称之为异常对象)并将它交给运行时系统。异常对象包含了关于错误的信息,即包括错误的类型和错误发生时程序的状态。 “抛出一个异常”是指创建异常对象并将它交给运行时系统。Java的异常处理是通过try、catch、throw、 throws和finally 5个关键字来实现的。这几个关键字的解释如表4-15所示。 [*] Java运行时系统要求方法必须捕获或者指定它可以抛出的所有被检查的异常,如表4-16所示。 [*] try块和catch块是异常处理器的两个组件。在try块中产生的异常通常被紧跟其后的catch块指定的处理器捕获。 try { 可能抛出异常的语句 } catch(异常类型 异常引用) { 处理异常的语句 } catch语句可以有多个,分别处理不同类的例外。Java运行时系统从上到下分别对每个catch语句处理的例外类型进行检测,直到找到类型相匹配的catch语句为止。其中,类型匹配是指catch所处理的例外类型与生成的例外对象的类型完全一致或者是它的父类,因此,catch语句的排列顺序应该是从特殊到一般。也可以用一个catch语句处理多个例外类型,此时它的例外类型参数应该是这几个例外类型的父类,程序设计中要根据具体的情况来选择catch语句的例外处理类型。 在选择要抛出的异常的类型时,可以使用其他人编写的异常类,也可以编写自己的异常类。本试题中采用自定义的类作为异常的类型。 仔细阅读试题中给出的Java源代码可知,主类TestMain包含了异常处理机制,用于检测在出队时“队列为空”的错误。因此(1)空缺处所填写的内容是“try”。 由catch语句的语法可知,(2)空缺处所填写的内容是对相应异常类型的引用。结合试题中给出的关键信息“类EmptyQueueException给出了队列操作中的异常处理操作”,即类EmptyQueueException是进行异常处理的类,因此(2)空缺处所填写的内容是“EmptyQueueExceptione”,或者“Exceptione”,其中,e是对象名,可用任意合法标识符替换。 由于异常都是从超类Exception派生而来的,因此(5)空缺处所填写的内容是“Exception”。 仔细阅读主类TestMain程序段可以看到,在try块的内部并没有给出显示的抛出异常语句,即没有出现throw语句。结合(4)空缺处所在行的注释—“队列为空,抛出异常”可以推断,在类Queue的方法dequeue中必定要抛出异常。因此(3)空缺处应指定方法dequeue可以抛出异常,即所填写的内容是“throws EmptyQueueException”。 (4)空缺处可以使用throw语句抛出异常,而使用throw语句时需要一个参数,即一个可抛出的对象,因此(4)空缺处所填写的内容是“throw(new EmptyQueueException())”。
解析
转载请注明原文地址:https://kaotiyun.com/show/6EjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
某学生要进行数据结构、操作系统和计算机组成原理三门课的考试。已知数据结构成绩是85分、操作系统成绩是87分,希望总分达到240分,需要求出计算机组成原理成绩应考的分数。此类问题可以使用Excel中的(53)功能来解决。
新建一个Word文档,编辑结束后,执行“文件”菜单中的“保存”命令,则______。
以下关于计算机操作系统的叙述中,不正确的是(18)。
某商场的部门和商品两个实体之间的关系如下图所示。假设每个部门负责销售若干种商品,每种商品只能由一个部门负责销售,那么部门和商品之间存在着(14)的联系。
____________是微机最基本最重要的部件之一,其类型和档次决定着整个微机系统的类型和档次,其性能影响着整个微机系统的性能。CPU模块就插在其上面。
可以将数据划分成有序数据和无序数据两类。以下几种数据中属于无序数据的是______。
抽样调查是收集数据的重要方法之一。抽样调查所遵循的原则不包括______。
在Excel2003中,A1到E6单元格的值如下图所示,若在A7单元格中输入计算众数的函数“=MODE(A1:E6)”,按回车键后,则.A7单元格显示的值为(47)。
为了调查某学校3000名学生的身高,抽取了100名学生进行身高测量,以下叙述中正确的是(23)。
在Access中,查询“学生”数据表的所有记录及字段的SQL语句是______。
随机试题
下列关于流行性乙型脑炎病理改变的叙述,错误的是()
复发性口腔溃疡治疗措施中,近期疗效最佳的是()。
企业生产销售的下列产品中,属于消费税征税范围的是()。
阅读材料,回答问题。材料一:共享单车作为共享经济的新兴事物,以其健康、环保、便捷等优势,直接改变了很多人的出行方式,受到广大用户的青睐。它随时取用和停车的“无桩”理念在给市民带来极大便利的同时,也出现了乱停乱放、恶意破坏、打码骗局、上“私锁”据为己有等不
给定资料2:蜿蜒盘旋的山路、生机盎然的苗木,时值初冬的F县罗坝村苗木种植基地,漫山的红枫、桂花和玉兰苗木让人心旷神怡。有着20年苗木种植经验的老周,从自家5亩责任田起家,如今已经是邻里皆知的苗木种植大户。在他的示范带领下,周边村民纷纷斥
旅行团组织了两个旅游团,一个旅游团南下广州,另一个旅游团北上哈尔滨,两个旅游团同时出发。南下广州的旅游团全部是北京人。有些外国人参加了北上哈尔滨的旅游团。所有的外国游客都持有护照。如果上述事实成立,下面哪项最不可能从中得出?
袋中有1个红球,2个黑球和3个白球,现有放回地从袋中取两次,每次取一球,以X,Y,Z分别表示两次取球所取得的红球、黑球与白球的个数。求二维随机变量(X,Y)的概率分布。
无符号二进制整数1011000转换成十进制数是
Theprobablerelationshipbetweenthetwospeakersisdoctorand______.
MostofushavenoideathatDr.Johnsonwasadevoutwriter.Actually,hewrotehisownlife,inconformwiththeopinionwhich
最新回复
(
0
)