我正在尝试编写一个简单的程序来在其中使用堆栈我已经编写了一个定义方法的类:
public interface Stack<E>{
public int size();
public boolean isEmpty();
public E top();
public void push(E element);
public E pop()throws EmptyStackException;
}
和另一个实现堆栈的类:
public abstract class myStack<E> implements Stack<E>{
private final E s[];
int t=0;
public myStack() {
this.s = (E[]) new Object[100];
}
@Override
public int size(){
return t;
}
@Override
public boolean isEmpty(){
switch(size()){
case 0:
return true;
}
return false;
}
@Override
public E top() {
if(isEmpty())
throw new EmptyStackException();
return s[t-1];
}
@Override
public void push(E element) {
if(isEmpty())
s[0]= element;
else
s[t]= element;
t++;
}
@Override
public E pop() {
E x;
if(isEmpty())
throw new EmptyStackException();
else{
x = s[t-1];
s[t-1] = null;
t--;
}
return x;
}
}
为了测试这些代码,我编写了另一个包含 main() 的类:
public static void main(String[] args) {
// TODO code application logic here
Stack<Integer> s;
s.push(1);
s.push(2);
System.out.println(s.pop());
}
但是当我运行程序时,它给了我这个错误“线程“主”java.lang.RuntimeException中的异常”
我已经检查了这个程序好几次,但我真的不明白是什么问题
谁能帮帮我吗??提前感谢您的关注