util パッケージが提供する組み込みクラスを使用せずに Java でスタックを作成したい。このコードを書きましたが、実行するたびに NullPointerException がスローされます。2クラス作りました。スタックのメソッドとロジック、つまりプッシュとポップ、およびスタックの空とフルをチェックするメソッドを含む最初のもの。
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;}}
2 番目のクラスには、コードを実行するための main メソッドが含まれています。
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();
}
}
}