在Queue类中,Enqueue方法的作用是()。

题目
填空题
在Queue类中,Enqueue方法的作用是()。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

阅读以下技术说明和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())”。
这是一道要求读者掌握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())”。

第2题:

使用VC6打开考生文件夹下的工程test26_3。此工程包含一个test26_3.cpp,其中定义了类queue,但该类的定义并不完

整。请按要求完成下列操作,将程序补充完整。

(1)完成类queue的无参数的构造函数的定义,要求把数据成员bl和el都初始化为0,同时输出queue initialized。请在注释“//**1**”之后添加适当的语句。

(2)完成类queue的成员函数qput(int j)的定义,它的功能是把新的元素加入队列,过程是先依据bl的值判断数组是否已经满了,如果是就输出queue is full,否则bl自加一,并且把参数j的值存入bl指向的数组元素中,请在注释“//**2**”之后添加适当的语句。

(3)完成类queue的成员函数qget()的定义,它的功能是把队列开头的元素提取出队列,并返回该值,过程是先比较el和bl的值判断队列是否已空,如果是就输出queue is empty,否则el自加一,并且把el指向的数组元素返回,请在注释“// **3**”之后添加适当的语句。

程序输出结果如下:

queue initialized

queue initialized

33 11

44 22

注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

源程序文件test26_3.cpp清单如下:

include<iostream.h>

class queue

{

int q[100];

int bl,el;

public:

queue( );

void qput(int j);

int qget( );

};

queue::queue( )

{

// **1**

}

void queue::qput(int j)

{

// **2**

{

cout<<"queue is full\n";

return;

}

bl++;

q[bl]=j;

}

int queue::qget( )

{

// **3**

{

cout<<"queue is empty\n";

return 0;

}

el++;

return q[el];

}

void main( )

{

queue aa,bb;

aa.qput(11);

bb.qput(22);

aa.qput(33);

bb.qput(44);

cout<<aa.qget()<<" "<<aa.qget()<<"\n";

cout<<bb.qget()<<" "<<bb.qget()<<"\n";

}


正确答案:(1) bl=el=O; cout"queue initialized\n"; (2) if(bl==100) (3) if(el==bl)
(1) bl=el=O; cout"queue initialized\n"; (2) if(bl==100) (3) if(el==bl) 解析:主要考查考生对于具体的一个队列类的掌握,对列是一种特殊的存储结构,使用先进先出原则,题目中bl和el分别指向队列的开头和结尾,其中(2)是队列的标准插入操作,(3)是队列的标准的删除操作,注意它们的操作方式和先判断后操作的原则。

第3题:

您需要创建一个方法,清除命名为q的Queue,您应该使用哪一个代码片段?()

A.foreach (object e in q) { q.Dequeue();}

B.foreach (object e in q) { Enqueue(null);}

C.q.Clear();

D.q.Dequeue();


参考答案:C

第4题:

在Queue类中,Enqueue方法的作用是:()

  • A、将队列末端元素出队列
  • B、将队列前端元素出队列
  • C、在队列前端压入新的元素
  • D、在队列末端压入新的元素

正确答案:D

第5题:

阅读以下说明和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
(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())。

第6题:

在Queue类中,移除并返回队列前端对象的方法是()

A. Dequene

B. Enqueue

C. Peek

D. Pop


正确答案:A

第7题:

下列说法错误的有()

A.在类方法中可用this来调用本类的类方法

B.在类方法中调用本类的类方法时可直接调用

C.在类方法中只能调用本类中的类方法

D.在类方法中绝对不能调用实例方法


正确答案:ACD

第8题:

阅读下列函数说明和Java代码,将应填入(n)处的字句写在对应栏内。

【说明】

类Queue表示队列,类中的方法如下表所示。

类Node表示队列中的元素;类EmptyQueueException给出了队列操作中的异常处理操作。

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 (isEempty())

(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("队列已空! ");

}

}


正确答案:(1)try (2)Exception e或者EmptyQueueException e (3)throw EmptyQueueException (4)throw(new EmptyQueueException()) (5)Exception
(1)try (2)Exception e或者EmptyQueueException e (3)throw EmptyQueueException (4)throw(new EmptyQueueException()) (5)Exception 解析:(1)try
从紧随其后的catch可以断定这是异常处理的try-catch结构。
(2)Exception e或者EmptyQueueException e
其中e是对象名,可用任意合法标识符替换,这是catch要捕获的信息。
(3)throw EmptyQueueException
当队列为空时,抛出错误信息EmptyQueueException。
(4)throw(new EmptyQueueException())
当队列为空时,抛出异常。动态生成EmptyQueueException对象,出错处理。
(5)Exception
EmptyQueueException对象是从异常处理类Exception扩展而来。

第9题:

下列类方法说法错误的有()

  • A、在类方法中可用this来调用本类的类方法,
  • B、在类方法中调用本类的类方法时可直接调用,
  • C、在类方法中只能调用本类中的类方法,
  • D、在类方法中绝对不能调用实例方法,

正确答案:A,C,D

第10题:

在Queue类中,移除并返回队列前端对象的方法是()。


正确答案:Dequeue

更多相关问题