我想在 Java 中创建一个堆栈,而不使用 util 包提供的内置类。我编写了这段代码,但每次运行它都会引发 NullPointerException。我做了两节课。第一个包含堆栈的方法和逻辑,即Push和Pop以及检查堆栈空和满的方法;
private int MaxStack;
private int emptyStack;
public static int top;
private char[] items;
public SimpleStack(int i) {
// TODO Auto-generated constructor stub
}
public void Stack(int i)
{
MaxStack=i;
emptyStack=-1;
top=emptyStack;
items=new char[MaxStack];
}
public void Push( char c){
items[top]=c;
top++;}
public char Pop(char c){
return items[top--];}
public boolean full(){
return top+1==MaxStack;}
public boolean empty(){
return top== emptyStack;}}
第二个类包含运行代码的主要方法:
public static void main(String[] args) throws IOException
{
// TODO Auto-generated method stub
SimpleStack ab=new SimpleStack(10);
char ch;
while((ch= (char)System.in.read())!='\n')
{
if(!ab.full()){
ab.Push(ch);
}
}
while(!ab.empty())
{
System.out.println(ab.Pop(ch));
System.out.println();
}
}
}