帮我看看这个程序哪错了,谢了
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)
------解决方案--------------------代码不全,错误信息?
ps: TestTry 继承了 MyStack,为什么里面又要封装一个?
------解决方案--------------------语法错误:
1)public void TestTry(Object o)是构造函数,不应该有返回值类型void申明;
2)方法public void distance(Object o)没有函数体