java - 声明了静态数组但方法无法工作

标签 java arrays methods greenfoot

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

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

假设我有一个名为Chess的类(class)。

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());
        }
    }
}

非常感谢!

最佳答案

allChesssave() 中被重新声明为局部变量。这样做:

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

关于java - 声明了静态数组但方法无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26734833/

相关文章:

java - 使用可滑动的选项卡更改单个 fragment 中的数据

java - 无法从套接字的 InputStream 获取数据

java - 如何判断按钮数组中的哪个按钮被单击?

c - 在堆而不是堆栈中分配 C 中的二维数组

Java isLetterOrDigit()方法、isDigit()、isLetter()

java - 非常快速的均匀分布随机数生成器

Java 8 将 String of int 转换为 List<Integer>

php - 从 SQL 结果中过滤大数组

Objective-C:将 int 返回到 BOOL 方法

java - 使用方法更改现有数组的大小