Java 为什么我的数组仍然为空

Java 为什么我的数组仍然为空,java,arrays,Java,Arrays,我正在尝试创建一种简单的方法来为游戏布置瓷砖 无论我是多么不熟悉java和OOP,由于某种原因,在我通过循环为数组中的变量分配变量之后,数组中的变量仍然是空的 我做错了什么,为什么我的数组仍然为空?谢谢 stages stage1 = new stages(); public void stage1init() { stage1.stageW = 30; stage1.stageH = 30; stage1.tileSiz

我正在尝试创建一种简单的方法来为游戏布置瓷砖

无论我是多么不熟悉java和OOP,由于某种原因,在我通过循环为数组中的变量分配变量之后,数组中的变量仍然是空的

我做错了什么,为什么我的数组仍然为空?谢谢

        stages stage1 = new stages();

    public void stage1init() {
        stage1.stageW = 30;
        stage1.stageH = 30;
        stage1.tileSize = 100; 
        stage1.stageStartX = 2;
        stage1.stageStartY = 24;
        //Layout Stage1
        int W = stage1.stageH;
        int H = stage1.stageW;
        for(int i = 0; i < H; i++) {
            for(int j = 0; j < W; j++) {
                stage1.TilePositionX[i][j] = 100 * j;
                stage1.TilePositionY[i][j] = 100 * j;
            }
        }
    }


    //Draw current stage

    public void drawStage1() {
        int W = stage1.stageH;
        int H = stage1.stageW;
        for(int i = 0; i < H; i++) {
            for(int j = 0; j < W; j++) {
                saveCurrentTransform();
                translate(stage1.TilePositionX[i][j], stage1.TilePositionY[i][j]);
                drawImage(grasstile, 0, 0, 100, 100);
                restoreLastTransform();
            }
        }
    }
stages stage1=新阶段();
public void stage1init(){
stage1.stageW=30;
stage1.stageH=30;
阶段1.tileSize=100;
stage1.stageStartX=2;
stage1.stageStartY=24;
//布局阶段1
int W=stage1.stageH;
int H=stage1.stageW;
对于(int i=0;i
感谢您的回复,我需要分配阵列的大小

public void stage1init() {
        stage1.stageW = 30;
        stage1.stageH = 30;
        stage1.tileSize = 100; 
        stage1.stageStartX = 2;
        stage1.stageStartY = 24;
        stage1.TilePositionX = new double[stage1.stageW][stage1.stageH];
        stage1.TilePositionY = new double[stage1.stageW][stage1.stageH];
        //Layout Stage1
        int W = stage1.stageH;
        int H = stage1.stageW;
        for(int i = 0; i < H; i++) {
            for(int j = 0; j < W; j++) {
                stage1.TilePositionX[i][j] = 100 * j;
                //EDIT: For anyone looking to do something simular, multipy the following by i not j;
                stage1.TilePositionY[i][j] = 100 * i;
            }
        }
    }
public void stage1init(){
stage1.stageW=30;
stage1.stageH=30;
阶段1.tileSize=100;
stage1.stageStartX=2;
stage1.stageStartY=24;
stage1.TilePositionX=新的双精度[stage1.stageW][stage1.stageH];
stage1.TilePositionY=新双精度[stage1.stageW][stage1.stageH];
//布局阶段1
int W=stage1.stageH;
int H=stage1.stageW;
对于(int i=0;i
我们需要更多的代码来实际重现您的问题(/)post-your-stages类。您不能在此代码中的任何位置设置它们。你能告诉我们你在哪里创建数组吗?它们是分阶段创建的。java
公共类阶段{int stageW;int tileSize;int stageH;int stageStartX;int stageStartY;double[][]TilePositionX;double[][]TilePositionY;
使用选项提供有关你问题的更多信息。