public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.println("请输入要测试的作业的个数:");
int n,i;
n=scan.nextInt();
int b[] = null,temp[] = null;
Work[] job= new Work[n];
int currentTime;
System.out.println("请分别输入每个作业的运行时间和到达时间:");
for(i=1;i<=n;i++){
job[i].starttime=0;
job[i].endtime=0;
job[i].roundtime=0;
System.out.println("WORK%d到达时间:\n");
job[i].arrivetime=scan.nextInt();
System.out.println("WORK%d运行时间:\n");
job[i].cputime=scan.nextInt();
}
这个程序中starttime,endtime什么的都在另一个友元类里,程序已经调到没有错误,但是一运行,走到第一个for循环,就会出现空指针错误。怎么回事呢?Java类指针
Scanner scan=new Scanner(System.in);
System.out.println("请输入要测试的作业的个数:");
int n,i;
n=scan.nextInt();
int b[] = null,temp[] = null;
Work[] job= new Work[n];
int currentTime;
System.out.println("请分别输入每个作业的运行时间和到达时间:");
for(i=1;i<=n;i++){
job[i].starttime=0;
job[i].endtime=0;
job[i].roundtime=0;
System.out.println("WORK%d到达时间:\n");
job[i].arrivetime=scan.nextInt();
System.out.println("WORK%d运行时间:\n");
job[i].cputime=scan.nextInt();
}
这个程序中starttime,endtime什么的都在另一个友元类里,程序已经调到没有错误,但是一运行,走到第一个for循环,就会出现空指针错误。怎么回事呢?Java类指针
感觉是这个的问题,声明开辟空间但没有赋值,所以系统添加默认值为null,因此就报了空指针。
楼主可以利用循环添加work类型值。
仅供参考
Work[] job= new Work[n];
只声明了 n 是int 型 但没有赋值! 数组默认为null! 当然报错了。
可以在空白处写job[i] = new Work();