【分析解答题】
【说明】 Stack类是jav
A、ntil包中专门用来实现栈的工具类。以下Java程序是一个不使用库函数而实现字符串反转的程序。例如,输入:123456,则输出:654321:输入:asdfeg,则输出:gefdsa。【Java程序】import jav
A、applet.Applet;import jav
A、awt.*;import jav
A、awt.event.*;import jav
A、util.*;public class UseStack extendsApplet implementsActionListener{ Stack MyStack; Label prompt=new Label("输入要反转字符:");Button pushBtn=newButton("压栈");Button popBtn=newButton("弹栈"); //反转 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); {{U}} (1) {{/U}} } public void paint(Graphics g) { for (int i=10; i<StackCnt; i++)//模拟显示堆栈内部的数据排列情况 { g.drawRect(50,200-i*20,80,20); g.drawString(Integer.toStringDrawStack[i]),80,215-i*20); } for (int i=0;{{U}} (2) {{/U}}) //显示被弹出的数据 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({{U}} (3) {{/U}}) { if (e.getAct ionCommand () == "压栈")//压栈操作 { if(StackCnt<10) { MyStack.push(new Integer({{U}} (4) {{/U}} ));DrawStack[StackCnt++]=Integer.parseInt(input.getText() ); input.setText (" "); } else msg="输入数据过多,请先弹栈!" } else if (e.getActionCommand () == "弹栈") //弹栈操作 { if({{U}} (5) {{/U}}) { StackCnt--; PoppedOut[PopCnt++]=[(Integer)(MyStack.pop())).intValue(); } else msg="堆栈已空,不能再弹栈!"; } repaint(); }}
查看答案解析
参考答案:
正在加载...
答案解析
正在加载...
根据网考网移动考试中心的统计,该试题:
0%的考友选择了A选项
0%的考友选择了B选项
0%的考友选择了C选项
0%的考友选择了D选项