首页 > 计算机等级考试
题目内容 (请给出正确答案)
[主观题]

(31 ) 为了支持压栈线程与弹栈线程之间的交互与同步 , 在程序的下划线处依次填入的语句是public

(31 ) 为了支持压栈线程与弹栈线程之间的交互与同步 , 在程序的下划线处依次填入的语句是

public class IntStack{

private int idx=0;

private int[] data=new int[8];

public void push(int i){

data[idx]=i;

idx++;

}

__________

......

}

A ) synchronized()

notify()

B ) synchronized()

this.wait()

C ) synchronized()

this.notify()

D ) synchronized()

sleep()

查看答案
答案
收藏
如果结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能还需要:
您的账号:
发送账号密码至手机
发送
安装优题宝APP,拍照搜题省时又省心!
更多“(31 ) 为了支持压栈线程与弹栈线程之间的交互与同步 , …”相关的问题
第1题
为了支持压栈线程与弹栈线程之间的交互与同步,在下画线处依次填入的语句是public class IntStack

为了支持压栈线程与弹栈线程之间的交互与同步,在下画线处依次填入的语句是 public class IntStack { private int idx=0; private int[]data=new int[8]; public ______ void push(int i) { data[idx]=i; idx++; ______ } … }

A.synchronized() notify()

B.synchronized() this.wait()

C.synchronized() this.notify()

D.synchronized() sleep()

点击查看答案
第2题
为了支持压栈线程与弹栈线程之间的交互与同步,应在下画线处填入的选项是()。 public class Sta
ckTest{ private int idx=0; private int[]data=new int[8] public void push(int i){ synchronized(this)(; data(idx)=i: idx++: } } }… …

A.this.notify

B.interrupt

C.this.wait

D.sleep

点击查看答案
第3题
为了支持压栈线程与弹栈线程之间的交互与同步,在程序的下画线处依次填入的语句是()。 public
class IntStack{ private int idx=0; private int[]data=new int[8]; public void push(int i){ data[idx]=i; idx++; … … }

A.synchronized notify

B.synchronized this.wait

C.synchronized this.notify

D.Serializable sleep

点击查看答案
第4题
为了支持压栈线程与弹栈线程之间的交互与同步,在程序的下画线处依次填入的语句是()。 public c
lass IntStack{ private int idx=0; private int[]data=new int[8]; public void push(int i){ data[idx]=i: idx++; … … }

A.synchronized notify

B.synchronized this.wait

C.synchronized this.notify

D.Serializable sleep

点击查看答案
第5题
80C51堆栈的功能有()。

A.子程序调用和中断服务时CPU自动将当前PC值压栈保存,返回时自动将PC值弹栈

B.保护现场/恢复现场

C.先进先出

D.数据传输

E.调整查询执行顺序

点击查看答案
第6题
阅读以下应用说明、图和Java代码,根据要求回答问题1至问题5。 【说明】 Stack类是java. ntil包中专门

阅读以下应用说明、图和Java代码,根据要求回答问题1至问题5。

【说明】

Stack类是java. ntil包中专门用来实现栈的工具类。以下Java程序是一个不使用库函数而实现字符串反转的程序。例如,输入:123456,则输出:654321:输入:asdfeg,则输出:gefdsa。

【Java程序】

import java.applet.Applet;

import java.awt.*;

import java.awt.event.*;

import java.util.*;

public class UseStack extends Applet implements ActionListener

{ Stack MyStack;

Label prompt=new Label("输入要反转字符:");

Button pushBtn=new Button("压栈");

Button popBtn=new Button("弹栈"); //反转

TextField input=new TextField(5);

int[] DrawStack =new int[10]; //记录堆栈中数据

int[] PoppedOut=new int[20]; //记录被弹出的数据

int StackCnt=0; //记录模拟堆栈的数组中的数据个数

String msg=" ";

public void init()

{ MyStack=new Stack();

add(prompt);

add(input);

add(pushBtn);

add(popBtn);

pushBtn.addActionListener(this);

(1)

}

public void paint(Graphics g)

{ for (int i=10; i<StackCnt; i++) //模拟显示堆栈内部的数据排列情况

{ g.drawRect(50,200-i*20,80,20);

g.drawString(Integer.toString(DrawStack[i]),80,215-i*20);

}

for (int i=0;(2) ) //显示被弹出的数据

g.drawString(Integer.toString(PoppedOut[i]),200+i*20,100);

g.drawString("堆栈",70,236);

g.drawString("栈底",135,225);

g.drawString("栈顶",160,225-StackCnt*20);

g.drawString(msg,200,140);

}

public void actionPerformed((3) )

{ if (e.getAct ionCommand () == "压栈") //压栈操作

{ if(StackCnt<10)

{ MyStack.push(new Integer((4) ));

DrawStack[StackCnt++]=Integer.parseInt(input.getText() );

input.setText (" ");

}

else

msg="输入数据过多,请先弹栈!"

}

else if (e.getActionCommand () == "弹栈") //弹栈操作

{ if((5) )

{ StackCnt--;

PoppedOut[PopCnt++]=[(Integer)(MyStack.pop())).intValue();

}

else

msg="堆栈已空,不能再弹栈!";

}

repaint();

}

}

点击查看答案
第7题
试题五(共 15分) 阅读以下说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】

试题五(共 15分)

阅读以下说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。

【说明】

已知类 LinkedList 表示列表类,该类具有四个方法:addElement()、lastElement()、umberOfElement()以及removeLastElement()。四个方法的含义分别为:

void addElement(Object): 在列表尾部添加一个对象;

Object lastElement(): 返回列表尾部对象;

int numberOfElement(): 返回列表中对象个数;

void removeLastElement(): 删除列表尾部的对象。

现需要借助LinkedList来实现一个Stack栈类,C++代码1和C++代码2分别采用继承和组合的方式实现。

【C++代码 1】

class Stack :public LinkedList{

public:

void push(Object o){ addElement(o); }; //压栈

Object peek(){ return (1) ; }; //获取栈顶元素

bool isEmpty(){ //判断栈是否为空

return numberOfElement() == 0;

};

Object pop(){ //弹栈

Object o = lastElement();

(2) ;

return o;

};

};

【C++代码 2】

class Stack {

private:

(3) ;

public:

void push(Object o){ //压栈

list.addElement(o);

};

Object peek(){ //获取栈顶元素

return list. (4) ;

};

bool isEmpty(){ //判断栈是否为空

return list.numberOfElement() == 0;

};

Object pop(){//弹栈

Object o = list.lastElement();

list.removeLastElement();

return o;

};

};

【问题】

若类LinkedList新增加了一个公有的方法removeElement(int index),用于删除列表中第index个元素,则在用继承和组合两种实现栈类Stack的方式中,哪种方式下Stack对象可访问方法removeElement(int index)? (5) (A. 继承 B. 组合)

点击查看答案
第8题
在一个多线程应用程序中,每一个线程都有它自己的(),并且独立于应用程序中的其他线程。

A.队列

B.栈

C.堆栈

D.进程

点击查看答案
第9题
试题六(共 15分) 阅读以下说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。 【说明】

试题六(共 15分)

阅读以下说明和Java代码,将应填入 (n) 处的字句写在答题纸的对应栏内。

【说明】

已知类 LinkedList 表示列表类,该类具有四个方法:addElement()、lastElement()、umberOfElement()以及removeLastElement()。四个方法的含义分别为:

void addElement(Object): 在列表尾部添加一个对象;

Object lastElement(): 返回列表尾部对象;

int numberOfElement(): 返回列表中对象个数;

void removeLastElement(): 删除列表尾部的对象。

现需要借助LinkedList来实现一个Stack栈类, Java代码1和Java代码2分别采用继承和组合的方式实现。

【Java代码1】

public class Stack extends LinkedList{

public void push(Object o){ //压栈

addElement(o);

}

public Object peek(){ //获取栈顶元素

return (1) ;

}

public boolean isEmpty(){ //判断栈是否为空

return numberOfElement() == 0;

}

public Object pop(){ //弹栈

Object o = lastElement();

(2) ;

return o;

}

}

【Java代码2】

public class Stack {

private (3) ;

public Stack(){

list = new LinkedList();

}

public void push(Object o){

list.addElement(o);

}

public Object peek(){//获取栈顶元素

return list. (4) ;

}

public boolean isEmpty(){//判断栈是否为空

return list.numberOfElement() == 0;

}

public Object pop(){ //弹栈

Object o = list.lastElement();

list.removeLastElement();

return o;

}

}

【问题】

若类LinkedList新增加了一个公有的方法removeElement(int index),用于删除列表中第index个元素,则在用继承和组合两种实现栈类Stack的方式中,哪种方式下Stack对象可访问方法removeElement(int index)? (5) (A. 继承 B. 组合)

点击查看答案
退出 登录/注册
发送账号至手机
密码将被重置
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改