gpt4 book ai didi

Java 空指针错误

转载 作者:行者123 更新时间:2023-12-02 07:50:49 24 4
gpt4 key购买 nike

您好,感谢您阅读本文。我正在使用 java/LWJGL 进行编码。我的问题是,如果我不包含这一件事,我会不断收到某些代码的空指针错误。基本上有4个类

  • block 类。
  • blockGrid 类
  • block 类型类
  • 还有一个引导类。

引导类创建一个显示,并在游戏循环中运行 blockgrid 类内部的绘制方法。要设置 block 的去向,我将使用 blockgrid 方法内的 renderat(x,y) 方法。 block 类只是在某个 x,y 处创建一个四边形。

抱歉,如果我解释得不好。这是我的代码:这是错误发生的地方,只需阅读我的评论即可查看错误所在。

// BlockGrid.java
package minecraft2d;

import java.io.File;

public class BlockGrid {
private Block[][] blocks = new Block[100][100];

public BlockGrid() {
for (int x = 0; x < 25 - 1; x++) {
for (int y = 0; y < 16 - 1; y++) {
blocks[x][y] = new Block(BlockType.AIR, -100, -100); //This is where my error happens! If I don't include this line i get a null pointer. Anything will help. I am really stuck and don't know whats happening
}
}
}
public void setAt(int x, int y, BlockType b) {
blocks[x][y] = new Block(b, x * 32, y * 32);
}

public void draw() {
for (int x = 0; x < 25 - 1; x++) {
for (int y = 0; y < 16 - 1; y++) {
blocks[x][y].draw();
}
}
}
}

最佳答案

当你没有该行时,你得到 NullPointerException 的原因是,当调用draw()时,所有x,y的blocks[x][y]将为null。 draw() 假设您有有效的 Block 对象,因为它正在调用 Block#draw。

关于Java 空指针错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10253726/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com