声明静态数组但方法不起作用

时间:2014-11-04 12:10:57

标签: java arrays methods greenfoot

我必须在Greenfoot做我的作业。 这部分意味着我必须保存Chess的位置,然后单击重置。
然后,我必须选择加载以将棋子放回到重置之前的位置 由于我不知道数组的确切大小,我知道我可以使用List,但它不允许在作业中使用。

屏幕上没有显示任何内容,但没有错误消息。

假设我有一个名为Chess的课程。

static Actor[] allChess;

public void save() // this is the save
{
    Actor[] allChess = GWorld.getAllObjects("Chess");
}

public void load() // this is the load
{
    if (allChess != null)
    {
        for (int i=0; i < allChess.length; i++)
        {
            Chess ch = (Chess) allChess[i];
            GWorld.addOneObject(new Chess(ch.color, ch.rank), ch.getX(), ch.getY());
        }
    }
}

非常感谢!

1 个答案:

答案 0 :(得分:4)

allChess被重新声明为save()中的本地变量。这样做:

public void save() // this is the save
{
     allChess = GWorld.getAllObjects("Chess");
}