import java.io.*; 
import java.lang.*; 
import java.util.*; public class Test 

public static void main(String args[]) 

TestTry tt=new TestTry(new String("123")); 
TestTry tt1=new TestTry("147"); 
System.out.println("now Start!"); 
tt.isEmpty(); 
tt.playStE(); 
tt.distance("147"); 
tt.removeStE(); 
tt.distance("147"); 
System.out.println("This is the end!"); 

} class MyStack 
{//用Vector类实现Stack类 
protected Vector vt; 
public MyStack() 

vt=new Vector(); 
} public boolean isEmpty() 
{//测试堆栈是否为空 
return vt.isEmpty(); // boolean isEmpty() 测试此向量是否不包含组件 

public Object peek() 
{//查看栈顶对象而不移除它 
return vt.lastElement(); 

public Object pop() 
{//移除栈顶对象并作为此函数的值返回该对象 
return vt.remove(vt.size()-1); 

public void push(Object o) 
{//把项压入栈顶 
vt.addElement(o); 

public int search(Object o) 
{//返回对象在栈中的位置,以 1 为基数。 
if(vt.isEmpty()) 
return vt.indexOf(o); 
else 
return -1; 

} class TestTry extends MyStack 

MyStack myst=new MyStack(); 
public void TestTry(Object o) 

myst.push(o); 
System.out.println("将对象"+o+"插入栈中"); 
} public void empty() 

if(myst.isEmpty()) 
System.out.println("堆栈为空!"); 
else 
System.out.println("堆栈长度为: "+myst.vt.size()); 
} public void playStE() 

System.out.println("查看栈顶元素:"+myst.peek()); 
} public void removeStE() 

System.out.println("移除栈顶元素:"+myst.pop()); 
} public void distance(Object o)