已声明静态数组,但方法无法工作
问题描述:
我必须在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());
}
}
}
非常感谢!
答
allChess
被重新声明为save()
中的局部变量。像这样:
public void save() // this is the save
{
allChess = GWorld.getAllObjects("Chess");
}
+0
非常感谢!有效!我一直在挣扎一个小时。 – Smile 2014-11-04 13:23:47
国际象棋是演员的一个子类 这整个模块在世界上被宣布。 – Smile 2014-11-04 12:13:03