嗨,我正在为学校创建一个小游戏,但是当我尝试执行此操作以填写此数组中的x和y变量时,我得到了NPE。
有人可以帮忙吗?
public class mainclass {
public static void main(String[] args) {
Gra piece[] = new Gra[10];
for (int i = 0; i < piece.length; i++) {
piece[i].x = 50;
piece[i].y = 50;
}
}
}
class Gra{
public int x = 50;
public int y = 10;
}
最佳答案
Gra piece[] = new Gra[10];
不会初始化数组内的对象,它只会创建数组,因此调用构造函数来创建
Gra
for (int i = 0; i < piece.length; i++) {
piece[i] = new Gra();
piece[i].x = 50;
piece[i].y = 50;
}
关于java - java-为什么此for循环会给出nullpointer异常?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14576807/