[试题]

阅读以下应用说明、图和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("输入要反转字符:");

B.utton pushBtn=new Button("压栈");

B.utton 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) ));

D.rawStack[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();

}

}

参考答案与解析:

相关试题

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

[主观题]阅读以下应用说明、图和C++代码,根据要求回答问题1至问题3。[说明]已知以下C++程序运行时的输出结果如下。1:11:11: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 //成员

  • 查看答案
  • 阅读以下说明和x86汇编语言代码,根据要求回答问题1至问题3。(说明) 在某嵌入

    [试题]阅读以下说明和x86汇编语言代码,根据要求回答问题1至问题3。(说明)在某嵌入式安全监测系统中,对某任务的加工操作需通过数据采集(Collect_task)、计算(Calculate_task)这两个不同的程序段来完成,并且执行程序段Collect_task和Calculate _task的顺序及次数有如下约定:C.ollect_task(2次)→Calculate_task(1次)→Collect_task(5次)→Calculate_task(4次)→Collect_task(2次)→Calc

  • 查看答案
  • 阅读以下技术说明、Java源程序和运行测试部分,根据要求回答问题1和问题2。(说

    [试题]阅读以下技术说明、Java源程序和运行测试部分,根据要求回答问题1和问题2。(说明)1.HTTP◆ HTTP请求消息示例G.ET/index,htmlHTTP/1.1A.ccept:image/gif,image/jpeg,*/*A.ccept-Language:zh-chA.ccept-encoding:gzip,deflateUser-Agent:Mozilla/4.0(compatible: MSIE6.0;Windows 2003)H.ost:localhost:8080C.onnecti

  • 查看答案
  • 阅读以下关于网络应用系统运行及性能分析的技术说明,根据要求回答问题1至问题5。(

    [试题]阅读以下关于网络应用系统运行及性能分析的技术说明,根据要求回答问题1至问题5。(说明)某企业应用IPSec协议部署一个合同管理与查询系统的虚拟专用网(VPN),其网络拓扑结构如图5-17所示。该系统由1台数据服务器和350台客户机(PC1~PC350)构成,数据服务器和客户机之间通过局域网进行通信,数据服务器通过VPN隧道连接到两个异地的交易网关X和Y。系统中的350台客户机的配置完全相同。每一台客户机一次只能处理一个应用,不能同时处理多个应用。一个应用完成之后,才能处理下一个应用任务。数据服务器

  • 查看答案
  • 阅读以下UML类图及其说明,根据要求回答问题1~问题4。 [说明] 某客户信息管

    [试题]阅读以下UML类图及其说明,根据要求回答问题1~问题4。[说明]某客户信息管理系统中保存着两类客户的信息:①个人客户。对于这类客户,系统保存了其客户标识(由系统生成)和基本信息(包括姓名、住宅电话和E-mail)。②集团客户。集团客户可以创建和管理自己的若干名联系人。对于这类客户,系统除了保存其客户标识(由系统生成)之外,也保存了其联系人的信息。联系人的信息包括姓名、住宅电话、E-mail、办公电话以及职位。该系统除了可以保存客户信息之外,还具有以下功能:①向系统中添加客户(addCustomer

  • 查看答案
  • 阅读以下说明和图4£­6,回答问题1至问题4。(说明) 本流程图(如图4£­6所

    [主观题]阅读以下说明和图4-6,回答问题1至问题4。(说明)本流程图(如图4-6所示)是将中缀表示的算术表达式转换成后缀表示。如中缀表达式 (A-(B*C+D)*E)/(F+G)的后缀表示为ABC*D+E*-FG+/。为了方便,假定变量名为单个英文字母,运算符只有+、-、*、/(均为双目运算符,左结合),并假定所提供的算术表达式非空且语法是正确的。另外,中缀表示形式中无空格符,但整个算术表达式以空格符结束。流程图中使用的符号的意义如下。. 数组IN[]存储中缀表达式。. 数组POLISH[]存储其后缀表

  • 查看答案
  • 阅读以下说明,回答问题1至问题5, [说明] 在Linux服务器中,inetd£

    [单选题]阅读以下说明,回答问题1至问题5,[说明]在Linux服务器中,inetd/xinetd是Linux系统中一个重要服务。下面选项中______是xinetd的功能。A.网络服务的守护进程 B.定时任务的守护进程C.负责配置网络接口 D.负责启动网卡

  • 查看答案
  • 阅读以下技术说明和程序代码,根据要求回答问题。 [说明] 某公司用ASP£«SQ

    [主观题]阅读以下技术说明和程序代码,根据要求回答问题。[说明]某公司用ASP+SQL Server开发的电子商务网站系统,提供了商品查询、网上购物车、订单管理、后台商品管理和支付等功能。图6~11是用ASP实现的电子商务网站的主页。系统的数据库名为 shangwu,所在服务器IP地址为211.54.32.21,其中,user表用于存放注册用户名和密码,结构如表 6-19所示。设计该电子商务网站时,某页面框架代码如下。该网页代码中定义了(1)个框架。

  • 查看答案
  • 阅读以下说明和C语言代码,回答问题1至问题4,将解答填入答题纸的对应栏内。[说明

    [试题]阅读以下说明和C语言代码,回答问题1至问题4,将解答填入答题纸的对应栏内。[说明]有两个任务(编号分别为0和1)需要访问同一个共享资源,为了解决竞争条件(race condition)的问题,需要实现一种互斥机制,使得在任何时刻只能有一个任务访问该共享资源。代码一给出了一种实现方法。[代码一]1: int flag[2]; /* flag 数组,初始化为FALSE */2: Enter_Critical_Section(int my_task_id, int other_task_id)3: {4

  • 查看答案
  • 阅读以下说明和Java代码,回答问题[说明] 在某些系统中,存在非常复杂的对象,

    [试题]阅读以下说明和Java代码,回答问题[说明]在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式进行组合将小对象组合,成复杂的对象。以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字符以及一些有项目符号的项目。Builder类规定组成文件的方法,Director类利用这个方法产生一份具体的文件。图6-1显示了各个类间的关系。以下是Java语言实现,能够正确编译通过。[Java代码]//Builder. java文件public (1) class

  • 查看答案