请看一个小程序!!
public static void defrag(assig assig[])
{//碎片整理
for(int i=0;i<app_main.n;i++)
if(assig[i].status==0)//该空间没作业时,必须将其全部置后形成空白区
{
int j;
for(j=i;j<app_main.n;j++)
{
assig[j]=assig[j+1];
}
assig[app_main.n-1].status=0;//
assig[app_main.n-1].size=0;
app_main.n--;//找到一个就减一个
}
}
调用的时候为什么老显示这两行有错误!!
assig[app_main.n-1].status=0;//
assig[app_main.n-1].size=0;
麻烦看一下
问题点数:30、回复次数:5Top
1 楼jony413(jony)回复于 2003-06-04 12:47:40 得分 0
public class assig
{
public String name;
public double size;
public int status;//0表示该空间未分配,1则反测试了一下,明
}
错误提示:
Exception occurred during event dispatching:
java.lang.NullPointerException
Top
2 楼trust_me((~~~怒者,江也~~~))回复于 2003-06-04 12:49:54 得分 10
assig[app_main.n-1]是null,确认app_main.n-1是否可以丛书组中拿到值Top
3 楼Hodex(小何才露尖尖角)回复于 2003-06-04 13:10:38 得分 10
要先生成实例才能调用
assig as=new assig();
再把你程序里的assig换成asTop
4 楼teaky2002(种田硬手)回复于 2003-06-04 13:29:07 得分 10
估计就是没有生成实例的问题。
assig assig[] 这个数组只有引用数组有大小,但是引用没有相应的实例Top
5 楼jony413(jony)回复于 2003-06-07 00:58:46 得分 0
对,一个很低级的错误,只声明没定义,呵呵,用惯了c
现在来搞这个有点怪,呵呵,争取把错误早点放出来,进步会更快
谢谢大家!Top




