cpp
发贴: 3
积分: 0
|
于 2005-06-27 12:16
我用j2sdk1.4.2编译 用ie6+jre1.5.0_04区不能运行 用appletviewer也不能运行 请大家帮我看一下 谢谢 代码如下 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[10]; int StackCnt=0; int PopCnt=0; String msg="";
public void init() { MyStack =new Stack(); add(prompt); add(input); add(pushBtn); add(popBtn); pushBtn.addActionListener(this); popBtn.addActionListener(this); } 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;i<PopCnt;i++) 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(ActionEvent e) { if(e.getActionCommand()=="压栈") {if(StackCnt<10) { MyStack.push(new Integer(input.getText())); DrawStack[StackCnt++]=Integer.parseInt(input.getText()); input.setText(""); } else msg="不能再加了!"; } else if(e.getActionCommand()=="弹栈") { if(!MyStack.empty()) { StackCnt--; PoppedOut[PopCnt++]=((Integer)(MyStack.pop())).intValue(); } else msg="堆栈已空,不能再弹栈了!"; } repaint(); } }
|