函数的定义: public void remove (int begin)
{
System.out.println(begin);
for (int i =begin ;i< 19;i++)
{
this.cards[i].setBack_pic(this.cards[i+1].getBack_pic());
this.cards[i].setCard_size(this.cards[i+1].getCard_size());
this.cards[i].setCard_state(this.cards[i+1].getCard_state());
this.cards[i].setFront_pic(this.cards[i+1].getFront_pic());
}
this.cards[19]=null ;
this.setCurNum(this.getCurNum()-1);//牌的张数的改变
}
当第一次传0进去的进修,正常,紧接着在传0的时候就提示错误,错误代码:
Exception in thread "main" java.lang.NullPointerException
at Person.PeoPerson.remove(PeoPerson.java:103)
at Person.PeoPerson.first(PeoPerson.java:46)
at load.Main.main(Main.java:30)
Java Result: 1
我定义的是用我自己定义的一个类为元素的,this.cards[19]=null ;说明这个对象是空的,这个函数调用一次他的有效值就减少1个,