已声明静态数组,但方法无法工作

问题描述:

我必须在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()); 
     } 
    } 
} 

非常感谢!

+0

国际象棋是演员的一个子类 这整个模块在世界上被宣布。 – Smile 2014-11-04 12:13:03

allChess被重新声明为save()中的局部变量。像这样:

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

非常感谢!有效!我一直在挣扎一个小时。 – Smile 2014-11-04 13:23:47