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

题目
填空题
在Queue类中,移除并返回队列前端对象的方法是()。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

Thread类的方法中,toString( )方法的作用是( )。

A.只返回线程的名称

B.返回当前线程所属的线程组的名称

C.返回当前线程对象

D.返回线程的字符串信息


正确答案:D

第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题:

在J2EE中,对于在Servlet如何获得会话,描述正确的是()。

A.HttpServletRequest类的getSession方法有两个:带参数的getSession方法和不带参数的getSession方法

B.在Servlet中,可以使用HttpSessionsession=newHttpSession()创建session对象

C.如果HttpServletRequest类的getSession方法的参数为false,表示如果没有与当前的请求相联系的会话对象时,该方法返回null

D.如果HttpServletRequest类的getSession方法的参数为true,表示如果没有与当前的请求相联系的会话对象时,该方法返回null


参考答案:A, C

第4题:

vector类中用于返回向量中第1个对象的方法是()。


正确答案:front()

第5题:

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

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

正确答案:D

第6题:

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

A. Dequene

B. Enqueue

C. Peek

D. Pop


正确答案:A

第7题:

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

第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题:

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


正确答案:Dequeue

第10题:

在public HttpSession getSession(boolean bool)的方法定义中,当bool为false时表明()

  • A、直接返回会话对象
  • B、当服务器已经创建了会话对象就返回该对象,否则返回null
  • C、直接返回null
  • D、当服务器已经创建了会话对象就返回该对象,否则新建一个会话对象并返回

正确答案:B

更多相关问题