1

我的代码如下。

package net.ferrell.wrathoftuemdaym;

import java.awt.*;

public class Level {
    public Block[][] block = new Block[50][50];

    public Level() {
        for(int x = 0; x < block.length; x++) {
            for(int y = 0; y < block[0].length; y++);
                block[x][y] = new Block(new Rectangle(x * Tile.tileSize, y * Tile.tileSize, Tile.tileSize, Tile.tileSize), Tile.air);
        }

    }

    public void generateLevel() {
        for(int x = 0; x < block.length; x++) {
            for(int y = 0; y < block[0].length; y++);
                if(x == 0 || y == 0 || x == block.length-1 || y == block[0].length-1) {
                    block[x][y].id = Tile.earth;
                }
        }

    }

    public void tick() {


    }

    public void render(Graphics g) {
        for(int x = 0; x < block.length; x++) {
            for(int y = 0; y < block[0].length; y++);
                block[x][y].render(g);
        }


    }
}

在写有“block[x][y]”的行中,y 无法解析为变量。我不知道这个问题的解决方法,只有在这个类中存在问题。请帮我。我不明白,因为 x 可以解决...

4

1 回答 1

4

这是你的罪魁祸首

for(int y = 0; y < block[0].length; y++);

它应该是

for(int y = 0; y < block[0].length; y++)

就我个人而言,我总是将大括号放在代码块中,即使它只有一行。

于 2013-01-23T04:14:19.047 回答