重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
当前位置: 首页 > 计算机类考试 > 软考初级
网友您好, 请在下方输入框内输入要搜索的题目:
搜题

题目

[主观题]

阅读以下应用说明、图和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();

}

}

查看参考答案
更多“阅读以下应用说明、图和Java代码,根据要求回答问题1至问题5。 【说明】 Stack类是java. ntil包中专门”相关的问题

第1题

请阅读以下技术说明、类图及Java代码,根据要求将(1)~(5)空缺处的内容填写完整。[说明] 已知对某载

请阅读以下技术说明、类图及Java代码,根据要求将(1)~(5)空缺处的内容填写完整。

[说明]

已知对某载客车辆(Car)进行类建模,如图4-20所示,其中类Engine表示发动机引擎,类Wheel表示车轮,类Body表示车身,类Driver表示司机,类Passenger表示乘客。

请阅读以下技术说明、类图及Java代码,根据要求将(1)~(5)空缺处的内容填写完整。[说明] 已知

点击查看答案

第2题

请阅读以下技术说明、类图及Java代码,根据要求将(1)~(7)空缺处的内容填写完整。1.[说明] 已知某企

请阅读以下技术说明、类图及Java代码,根据要求将(1)~(7)空缺处的内容填写完整。

1. [说明]

已知某企业欲开发一家用电器遥控系统,即用户使用一个遥控器即可控制某些家用电器的开与关。遥控器面板如图1-18所示。该遥控器共有4个按钮,编号分别是0至3,按钮0和2能够遥控打开电器1和电器2,按钮1和3则能遥控关闭电器1和电器2。由于遥控系统需要支持形式多样的电器,因此,该系统的设计要求具有较高的扩展性。现假设需要控制客厅电视和卧室电灯,对该遥控系统进行设计所得类图如图1-19所示。

请阅读以下技术说明、类图及Java代码,根据要求将(1)~(7)空缺处的内容填写完整。1.[说明]

在图1-19中,类RomoteController的方法onPressButton(int button)表示当遥控器按键按下时调用的方法,参数为按键的编号;Command接口中on和off方法分别用于控制电器的开与关;Light中turnLight (int degree)方法用于调整电灯灯光的强弱,参数degree值为0时表示关灯,值为100时表示开灯并且将灯光亮度调整到最大;TV中setChannel(int channel)方法表示设置电视播放的频道,参数channel值为0时表示关闭电视,为1时表示开机并将频道切换为第1频道。

[Java代码]

请阅读以下技术说明、类图及Java代码,根据要求将(1)~(7)空缺处的内容填写完整。1.[说明]

本试题应用命令模式能够有效让类(5)和类(6)、类(7)之间的耦合性降至最小。

点击查看答案

第3题

() 阅读下列说明和JAVA代码,将应填入空(n)处的字句写在答题纸的对应栏内。【说明】 某中学开展中外

() 阅读下列说明和JAVA代码,将应填入空(n)处的字句写在答题纸的对应栏内。【说明】 某中学开展中外中学生野外生存夏令营活动,由于中外学生的语言障碍,随队为外籍学员配置一名翻译。以下代码采用适配器(Adapter)模式模拟翻译适配器。其类图如下:() 阅读下列说明和JAVA代码,将应填入空(n)处的字句写在答题纸的对应栏内。【说明】 某中学开展

点击查看答案

第4题

阅读以下应用说明、图和C++代码,根据要求回答问题1至问题3。 [说明] 已知以下C++程序运行时的输出

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

[说明]

已知以下C++程序运行时的输出结果如下。

1:1

1:1

1:1

[C++程序]

01 include <iostream>

02 using namespace std;

03 class Stock{

04 protect:

05 (1) { };

06 Stock(int n, int pr=1) {

07 shares = n; share_val=pr;

08 };

09 void ~Stock() { };

10 public:

11 //成员函数

12 void output() {

13 (2)<< shares << ":" << share_val << endl;

14 }

15 private:

16 //成员变量

17 int shares;

18 int share_val;

19 };

20

21 void main() {

22 Stock a(1); a.output

23 Stock b; b.output

24 Stock c = Stock (); c.output

25 }

请根据C++程序运行时的输出结果,将代码中(1)、(2)空缺处的内容补充完整。

点击查看答案

第5题

阅读以下技术说明及Java代码,将Java程序中(1)~(5)空缺处的语句填写完整。[说明] 在一公文处理系统

阅读以下技术说明及Java代码,将Java程序中(1)~(5)空缺处的语句填写完整。

[说明]

在一公文处理系统中,开发者定义了一个公文类OfficeDoc,其中定义了公文具有的属性和处理公文的相应方法。当公文件的内容或状态发生变化时,关注此OfficeDoc类对象的相应的DocExplorer对象都要更新其自身的状态。一个OfficeDoc对象能够关联一组DocExplorer对象。当OfficeDoc对象的内容或状态发生变化时,所有与之相关联的DocExplorer对象都将得到通知,这种应用被称为Observer(观察者)模式。以下代码采用Java语言实现,能够正确编译通过。

[Java代码]

阅读以下技术说明及Java代码,将Java程序中(1)~(5)空缺处的语句填写完整。[说明] 在一公

点击查看答案

第6题

阅读以下说明和 Java 代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 在股票交易
中,股票代理根据客户发出的股票操作指示进行股票的买卖操作。其类图如图 6-1 所示。相应的Java 代码附后。阅读以下说明和 Java 代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 【说明】 在股票交易图6-1 类图

【 Java 代码】 import java.util.ArrayList; import java.util.List; class Stock { private String name; private int quantity; public Stock(String name ,int quantity) { this.name = name; this.quantity = quantity; } public void buy() { System.out.println("[ 买进]: " + name + ",数量. " + quantity);} public void sell() { System.out.println("[ 卖出]: " + name + ",数量. " + quantity);} } interface Order { void execute(); } class BuyStock (1) Order { private Stock stock; public BuyStock(Stock stock) { (2) = stock; } public void execute() { stock.buy();} } //类SellStock实现和BuyStock 类似,略 class Broker { private List<Order> orderList = new ArrayList<Order>(); public void takeOrder((3) order) { orderList.add(order); } public void placeOrders() { for ((4) order : orderList) { order.execute(); } orderList.clear(); } } public class StockCommand { public static void main(String[] args) { Stock aStock = new Stock("股票 A" ,10); Stock bStock = new Stock("股票 B" ,20); Order buyStockOrder = new BuyStock(aStock); Order sellStockOrder = new SellStock(bStock ); Broker broker = new Broker(); broker.takeOrder(buyStockOrder); broker.takeOrder(sellStockOrder); broker. (5) ; } }

点击查看答案

第7题

阅读以下说明和JAVA 2代码,填入(n)处的。[说明] 以下JAVA程序实现了在接口interface iShape2D的定

阅读以下说明和JAVA 2代码,填入(n)处的。

[说明]

以下JAVA程序实现了在接口interface iShape2D的定义和应用,仔细阅读代码和相关注释,将程序补充完整。

[代码6-1]

interface iShape2D //定义接口

{

(1)

(2)

}

(3)//实现CRectangle类

{

int width, height;

(4) CRectangle (int w,int h) {

width=w;

height=h;

}

public void area (){ //定义area()的处理方式

System. out.println ("area="+width*height);

}

}

(5)//实现CCircle类

{

double radius;

(6) CCircle (double r) {

radius=r;

}

public void area () { //定义area()的处理方式

System.out.println ("area="+pi*radius*radius);

}

}

[代码6-2]

public class app10_4

{

public static void main(String args[])

{

CRectangle rect=new CRectangle (5,10);

rect.area (); //调用CRectangle类里的area () method

CCircle cir=new CCircle (2.0);

cir.area (); //调用CCircl类里的area () method

}

}

点击查看答案

第8题

阅读以下说明和JAVA 2代码,将应填入(n)处的字句写在对应栏内。 [说明] 以下程序为类类型的变量应

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

[说明]

以下程序为类类型的变量应用实例,通过异常处理检验了类CCircle的变量的合法性,即参数半径应为非负值。仔细阅读代码和相关注释,将程序补充完整。

[JAVA代码]

//定义自己的异常类

class CCircleException extends Exception

{

}

// 定义类 CCircle

class CCircle

{

private double radius;

public void setRadius (double r ) (1)

{

if (r<0 ) {

(2)

}

else

(3)

}

Public void show () {

System. out. println ("area="+3.14*radius*radius );

}

}

public class ciusample

{

public static void main (String args[] )

{

CCircle cir=new CCircle();

(4) {

cir. setRadius (-2.0 )

}

(5)

{

System. out. println (e+" throwed" ) ;

}

cir. show() ;

}

}

点击查看答案

第9题

阅读下列说明、图和Java代码,回答问题1至问题3。 【说明】 已知四个类之间的关系如图2-4所示,分别对

阅读下列说明、图和Java代码,回答问题1至问题3。

【说明】

已知四个类之间的关系如图2-4所示,分别对每个类的方法进行编号,例如Shape的perimeter()为1号,表示为1:perimeter(),Rectangle类的perimeter()为2号,表示为 2:perimeter(),依此类推,其中,每个类的perimeter方法签名相同。

阅读下列说明、图和Java代码,回答问题1至问题3。 【说明】 已知四个类之间的关系如图2-4所示,

【Java代码】

Triangle tr=new Triangle();

Square sq=new Square();

Shape sh=tr;

关于上述Java代码中sh和tr的以下叙述中,哪两个是正确的(写出编号)。

①sh和tr分别引用同一个对象;

②sh和tr分别引用同一类型的不同的对象:

③sh和tr分别引用不同类型的不同对象:

④sh和tr分别引用同一个对象的不同拷贝;

⑤sh和tr所引用的内存空间是相同的。

点击查看答案

第10题

试题六(共15分) 阅读以下说明、图和Java代码,填补Java代码中的空缺(1)~(6),将解答写在答题纸的对

试题六(共15分)

阅读以下说明、图和Java代码,填补Java代码中的空缺(1)~(6),将解答写在答题纸的

对应栏内。

【说明】

已知对某几何图形绘制工具进行类建模的结果如图6.1所示,其中Shape为抽象(abstract)类,表示通用图形,Box(矩形)、Ellipse(椭圆)和Line(线条)继承(extends)了Shape类,其中,Circle表示圆(即特殊的椭圆)。

试题六(共15分) 阅读以下说明、图和Java代码,填补Java代码中的空缺(1)~(6),将解答写

下面的Java代码用于实现图 6-1所给出的设计思路,将其空缺处填充完整并编译运行,输出结果为:

Ellipse

Circle

Ellipse

C

E

【Java代码】

(1) class Shape{

public Shape(String name){

this.name= name;

}

(2) void paint();

String getName(){

retum this.name;

}

final String name;

};

//Box 和Line类似下面 Ellipse,其代码略

class Ellipse (3) {

public Ellipse(String name){

super(name);

System.out.println("Ellipse");

}

Void paintO{∥绘制现状示意代码

System.out.println(getName0);

}

};

class Circle (4) {

public Circle(String name){

super(name);

System.out.println("Circle");

}

};

class Diagram{

private Shape shapes[]= new Shape[2];

public void drawAShape(Shape shape){

shape.paint();

}

void erase A Shape(Shape shape){

∥删除形状,代码略

}

void drawShapes(){

shapes*0+= new Circle("C”);

shapes[l]= new Ellipse("E");

for (int i=O; i<2;++i) {

drawAShap(shapes[i]);//绘制形状

}

}

void close(){

for (int i=0;i<2; ++1) { []关闭图,删除所绘制图形

(5) ;

}

}

public static void main(String[] args){

Diagram diagram= (6) ;

diagram.drawShapes();

diagram.close();

}

}

点击查看答案
赏学吧APP
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)
订单号:
遇到问题请联系在线客服
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“赏学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

- 微信扫码关注赏学吧 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反赏学吧购买须知被冻结。您可在“赏学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注赏学吧 -
请用微信扫码测试
温馨提示
每个试题只能免费做一次,如需多次做题,请购买搜题卡
立即购买
稍后再说
赏学吧