我用它做了一个代码,它遍历java.awt.Point类型Point对象的一维数组。我试图填充数组中的每个Point的x和y实例变量,实质上是array[iterator].x=iterator
。为什么此代码会导致NullPointerException?
代码
package onmap;
import java.awt.Point;
public class OnMap {
public static void main(String[] args) {
int width=50;
int height=50;
int area = width * height;
int xn;
int yn;
int i=0;
int t=0;
Point[] map;
map = new Point[area];
map[i].x=0;
System.out.print("first x:" + map[i].x);
for (int n=0; n<area-1;n++){
if (i==width)
{i=0; t++;}
map[n].x=i;
map[n].y=t;
i++;
}
for (int n=0;n<area-1;n++){
xn = map[n].x;
yn = map[n].y;
System.out.print("x: " + xn);
System.out.print(" y: "+yn);
System.out.println(" n: "+n);
}
}
}
我不明白。为什么我收到空指针异常?
(Netbeans的7.3,Java7)
直接在问题中包含您的代码,并包含错误的完整堆栈跟踪。 – 2013-05-12 06:42:25
始终复制/粘贴错误和异常输出。 – 2013-05-12 06:45:14