首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 说明 类Queue表示队列,类中的方法如下表所示。 类Node表示队列中的元素;类EmptyQueueException 给出了队列操作中的异常处理操作。 Java 代码
阅读以下说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 说明 类Queue表示队列,类中的方法如下表所示。 类Node表示队列中的元素;类EmptyQueueException 给出了队列操作中的异常处理操作。 Java 代码
admin
2005-03-20
62
问题
阅读以下说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。
说明
类Queue表示队列,类中的方法如下表所示。
类Node表示队列中的元素;类EmptyQueueException 给出了队列操作中的异常处理操作。
Java 代码
public class TestMain{ // 主类
public static void 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 void 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 (isEmpty())
(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 getObject0 { return m_Data; }
public void setNext(Node next) { m_Next = next; }
public Node getNext() { return m_Next; }
}
public class EmptyQueueException extends (5) { // 异常处理类
public EmptyQueueException0 {
System.out.println("队列已空 ! ");
}
}
选项
答案
(1)try (2)EmptyQueueException e (3)throws EmpbtyQUeUeExCeption (4)throw(new EmptyQueueException()) (5)Exception
解析
本题以队列为例,考查Java的异常处理机制。
异常是指程序执行期间中断指令的正常流程的事件。当一个方法中发生错误时,此方法创建一个对象并将它交给运行时系统,此对象被称为异常对象。它包含关于错误的信息,包括错误的类型和错误发生时程序的状态。创建异常对象并将它交给运行时系统被称为抛出二个异常。
(Java运行时系统要求方法必须捕获或者指定它可以抛出的所有被检查的异常。)
▲ 捕获。方法可以通过为某类型的异常提供异常处理器来捕获异常。
▲ 指定。方法通过在它的声明块中使用throws子句(throws异常类型)指定它可以抛出异常。
▲ 被检查的异常。存在两种异常:运行时异常和非运行时异常。运行时异常在Java运行时系统内发生,如算术异常、指针异常等。方法不必捕获或指定运行时异常。非运行时异常是在Java运行时系统外的代码中发生的异常。编译器确保非运行时异常被捕获或指定,因此它们也被称为“被检查的异常”。
▲ 方法可以抛出的异常。包括:方法用throw语句直接抛出的任何异常;通过调用另一个方法间接抛出的任何异常。
try块和catch块是异常处理器的两个组件。在try块中产生的异常通常被紧跟其后的catch块指定的处理器捕获:
try{
可能抛出异常的语句
}
catch(异常类型异常引用){
处理异常的语句
}
在选择要抛出的异常的类型时,可以使用其他人编写的异常类,也可以编写自己的异常类。本题中采用自定义的类作为异常的类型。
本题中主类TestMain包含了异常处理机制,用于检测在出队时“队列为空”的错误。根据上面的描述,很容易得出第(1)空应填try。第(2)空应填写对相应异常类型的引用。由程序的注释可以得到,类EmptyQueueException是进行异常处理的类,因此第(2)空应填EmptyQueueException e(e为引用名)。由于异常都是从超类Exception派生而来的,因此第(5)空应填Exception。
由主类TestMain可以看到,在try块的内部并没有给出显示的抛出异常语句,即没有出现throw语句。由此可以得出,在类Queue的方法dequeue中必定要抛出异常。因此首先应指定方法dequeue可以抛出异常,则第(3)空应填throws EmptyQueueException。
由dequeue方法的注释可以看出,第(4)空应该是使用throw语句抛出异常。throw语
句需要—个参数:—个可抛出的对象。因此第(4)空应填throw(newEmptyQueueException())。
转载请注明原文地址:https://kaotiyun.com/show/MyDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
阅读下列说明,回答问题,将解答填入答题纸的对应栏内。【说明】在某嵌入式智能服务机器人的软件设计中,为了更好地记录机器人的个体信息和机器人的工作信息,为智能服务机器人设计了信息数据库。数据库主要完成收集智能服务机器人反馈信息的作用,记录所有机器人的所有工
v模型指出,(47)对程序设计进行验证,(48)对系统设计进行验证,(49)应当追溯到用户需求说明。
某评测机构A承接了公司B开发的ERP软件的测试工作,负责该项目的软件评测师甲,为了提高自己在ERP方面的知识,向A机构的负责人提出要到开发ERP软件的公司D做兼职开发工作的请求。当测试工作正在进行时,B公司为了申报某科技奖项,希望A机构能先出具一个证明其软
在UML提供的图中,(36)用于描述系统与外部系统及用户之间的交互;(37)用于按时间顺序描述对象间的交互。
某一确定性有限自动机(DFA)的状态转换图如下图所示,令d=0|1|2|…|9,则以下字符串中,不能被该DFA接受的是(33),与该DFA等价的正规式是(34)。(其中,ε表示空字符)①3857②1.2E+5③-123.④.
下列要素中,不属于DFD的是(22)。当使用DFD对一个工资系统进行建模时,(23)可以被认定为外部实体。
在系统转换的过程中,旧系统和新系统并行工作一段时间,再由新系统代替旧系统的策略称为(20);在新系统全部正式运行前,一部分一部分地代替旧系统的策略称为(21)。
数据存储在磁盘上的排列方式会影响I/O服务的总时间。假设每磁道划分成10个物理块,每块存放1个逻辑记录。逻辑记录R1,R2,…,R10存放在同一个磁道上,记录的安排顺序如下表所示:假定磁盘的旋转速度为20ms/周,磁头当前处在R1的开始处。若系统顺序处
某供应商数据库中的供应关系为SPJ(供应商号,零件号,工担号,数量),如下命令查询某工程至少用了3家供应商(包含3家)供应的零件的平均数量,并按工程号的降序排列。SELECT工程号,(14)FROMSPJGROUPBY工程号(15)
以下各项中,(51)属于需求说明书的评测内容。①系统定义的目标是否与用户的要求一致②设计的约束条件或限制条件是否符合实际③是否考虑过软件需求的其他方案④软件的行为与它必须处理的信息、必须完成的功能是否一致
随机试题
对于进行短期交易的基金投资者,可以按以下要求收取赎回费()。
ThismonthSingaporepassedabillthatwouldgivelegalteethtothemoralobligationtosupportone’sparents.CalledtheMain
人体维生素D3的主要来源是
肝硬化,雌激素灭活障碍,可出现:肝硬化门脉高压,可出现:
地面水自净作用中最重要和最活跃的是
动机产生的两个条件是
阿托品抗休克的主要机制是
某企业的总资产净利率为16.8%,权益乘数为2.1,则该企业的净资产收益率为8%。()
两个或两个以上的法人合并为一个新法人,是()。
候选关键字的属性可以有
最新回复
(
0
)