java - 为什么这个for循环给出了一个nullpointer异常?

Jon*_*ten 0 java arrays loops for-loop nullpointerexception

嗨,我正在为学校创建一个小游戏,但是当我尝试这样做来填写这个数组中的x和y变量时,我得到了一个N​​PE.有人可以帮忙吗?

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;
}
Run Code Online (Sandbox Code Playgroud)

Nik*_*sov 11

Gra piece[] = new Gra[10];
Run Code Online (Sandbox Code Playgroud)

不初始化数组中的对象,它只创建数组,所以调用构造函数来创建Gras

for (int i = 0; i < piece.length; i++) {
   piece[i] = new Gra();
   piece[i].x = 50;
   piece[i].y = 50;
}
Run Code Online (Sandbox Code Playgroud)