2013-02-18 5 views
0

В лабиринте я пытаюсь, чтобы мой робот опустил предмет (putThing) на каждое пересечение, где его еще нет. RobotSE имеет логический метод isBesideThing(), который я пытаюсь использовать. Тем не менее, я продолжаю получать компиляционную ошибку:Karel Robot: Невозможно найти символ

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

Я бы сказал, что читать их documentation thoroughly.

сигнатурного метода является

public boolean isBesideThing(IPredicate kindOfThing) 

Таким образом, вы должны соответствовать подписи и передать IPredicate.

+0

Я определенно не прочитал его полностью, спасибо за вашу помощь! – Leif

Смежные вопросы