gpt4 book ai didi

java - 设置对象数组值时出错

转载 作者:行者123 更新时间:2023-12-01 23:36:23 24 4
gpt4 key购买 nike

package net.gfx;

public class TileSet {

public final int TILES = 627;

class Tiles {
int x = 0, y = 0;
int w = 0, h = 0;

}

public Tiles tiles[] = new Tiles[TILES];

public TileSet() {
for (int i = 0, y = 0; i < TILES; i++) {
for (int x = 0; x < 1280; x =+ 25) {
if (x > 1280) {
x = 0;
y += 40;

}
else {
tiles[i].x = x; //ERROR CAUSED HERE
tiles[i].y = y; //TO HERE *Unknown reason*
tiles[i].w = 40;
tiles[i].h = 40;

}

}

}

}

}

我收到的错误:

Exception in thread "main" java.lang.ExceptionInInitializerError
at net.jump.Jump.<clinit>(Jump.java:8)
Caused by: java.lang.NullPointerException
at net.gfx.TileSet.<init>(TileSet.java:24)
at net.gfx.Graphics.<clinit>(Graphics.java:10)
... 1 more

我想做的基本上是在屏幕上创建一个图 block 数组。除了设置对象数组值之外,其他一切都有效。

我几乎找遍了所有地方,但一无所获。我敢打赌这可能是我错过的一些简单的事情。

最佳答案

您必须先创建一个 Tiles 实例,然后才能对其执行任何操作。

 for (int i = 0, y = 0; i < TILES; i++) {
for (int x = 0; x < 1280; x =+ 25) {
if (x > 1280) {
x = 0;
y += 40;

}
else {
tiles[i] = new Tiles(); //instance created here.
tiles[i].x = x;
tiles[i].y = y;
tiles[i].w = 40;
tiles[i].h = 40;

}

}

}

关于java - 设置对象数组值时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18625967/

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