首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Exception >

数据报java.lang.NullPointerException异常

2014-01-26 
main文件 public class MMain { public static void main(String[] args) { //try{ Mankey[] mknew Mankey

main文件
public class MMain {
public static void main(String[] args)
{
//try{
Mankey[] mk=new Mankey[100];
Mankey.Inroad(mk);
System.out.println(Mankey.clean(mk));
//}catch(Exception Ex){};

}
}
Mankey文件
public class Mankey {
public int num,prior,next;
public Mankey()
{

}
static void Inroad(Mankey[] m)
{
int last=m.length;
for (int i=0;i <last;i++)
{

m[i].num=i+1;
m[i].prior=i;
m[i].next=i+2;
System.out.println("zhe");
}
m[0].prior=m[last-1].num;
m[last-1].next=m[0].num;
}
static int clean(Mankey[] m )
{
int count=1;
int i=1;
do
{
if(count==3)
{
m[m[i].prior].next=m[i].next;
m[m[i].next].prior=m[i].prior;
count=1;
}
i=m[i].next;
count++;
}while(i==m[i].next);
return (m[i].num);
}
}

提示错误
Exception in thread "main" java.lang.NullPointerException
at Mankey.Inroad(Mankey.java:14)
at MMain.main(MMain.java:7)


为什么报错啊??我看不太懂,,,,刚接触java

------解决方法--------------------------------------------------------
只创建了数组,没有创建数组里保存的对象.

这两天这个错误好像比较流行.
------解决方法--------------------------------------------------------
数组没有初始化
------解决方法--------------------------------------------------------
 

探讨
数组没有初始化


------解决方法--------------------------------------------------------
楼上说的对~你没有实例化数组~就是没有用new实例化~所以会报你那个异常~
------解决方法--------------------------------------------------------
 

Java code
Mankey[] mk=new Mankey[100];Mankey.Inroad(mk);
------解决方法--------------------------------------------------------
定义了变量要new 一下

------解决方法--------------------------------------------------------
你已经初始化了 但是那是空的对象 即NULL
NULL并没有num prior next那些属性 所以当你调用的时候就报空指针异常 

所以你要保证数组内有  Mankey类型的对象 才能对它进行属性操作
OVER
        

热点排行