java出现空指针异常的问题!!

来源:百度知道 编辑:UC知道 时间:2024/05/24 01:26:45
ublic class StackTest{
public static void main(String args[])throws NullPointerException{

String a="stefanie";
String b="st34ie";
String c="st45tasdgnie";
Stack_ s=new Stack_(); boolean e=s.empty();
System.out.println(e);

s.push(a);
s.push(b);
s.push(c);

}
}

class Stack_{//栈
String Stacknum[];
int top;
Stack_(){
String[] Stacknum=new String[20];
top=-1;
}
boolean empty( ){
if(top==-1)
return true;
else return false;
}
void push(String c){
top++;
Stacknum[top]=c;

}
String pop( ){
top--;
return Stacknum[top+1];
}
String top( ){
if(this.empty())
{ System.out.println("overflow!");return null;}
else
return(Stacknum[top]);
}

}

编译出现的提示:

class Stack_ {// 栈
String Stacknum[];

int top=0;

Stack_() {
String[] Stacknum = new String[20];//把前面的那个String[]去掉就OK了,你这是重复定义
top = -1;
}

Stack_(){
String[] Stacknum=new String[20];
top=-1;
}

函数局部变量Stacknum和类成员Stacknum同名了
所以类成员Stacknum没有实例化