在整个迷宫中,我试图让我的机器人放下一个东西(putThing),每个交叉点都没有。 RobotSE有一个布尔方法isBesideThing(),我试图使用它。但是,我不断收到编译错误:
MazeIDudItz.java:24: cannot find symbol
symbol : method isBesideThing()
location: class MazeBot
if(!this.isBesideThing())
我尝试过所有我知道怎么做的事情。我将其更改为公共布尔方法,包含返回值,但无效。这是RobotSE的课程扩展器。这是我的第一个编程课程,所以如果我不清楚或者我说的不完全有意义,我会提前道歉。我知道,当我收到错误时,我拼错了一些东西,忘了一些东西,或者没有导入一些东西。我只需要导入becker.robots。*;因为RobotSE是一个子类。
class MazeBot extends RobotSE
{
public MazeBot(City theCity, int str, int ave, Direction dir, int numThings)
{
super(theCity, str, ave, dir, numThings);
}
private boolean isAtEndSpot()
{
return (this.getAvenue() == 9 && this.getStreet() == 10);
}
public void dontPickThatUp()
{
while(!this.isBesideThing())
{
this.putThing();
}
}
public void moveCheck()
{
if(this.frontIsClear())
{
this.move();
}
else
{
this.turnAround();
}
}
public void checkRight()
{
this.turnRight();
if (this.frontIsClear())
{
this.moveCheck();
}
else
{
this.turnLeft();
this.moveCheck();
}
}
public void NavigateMaze()
{
while (!this.isAtEndSpot())
{
this.checkRight();
}
}
}
感谢您的帮助和建议!
答案 0 :(得分:0)
我说要阅读他们的documentation thoroughly.
方法签名是
public boolean isBesideThing(IPredicate kindOfThing)
所以你必须匹配签名并传递IPredicate
。