Frage
Ich versuche, einen Code zu erstellen, der einen Schauspieler an einen zufälligen Ort verschiebt, wenn er geöffnet ist. Ich habe jedoch Schwierigkeiten mit einem Fehler, der sich aus dieser Zeile ergibt.
if (null == get(loc))
Grundsätzlich dachte ich, diese Linie würde überprüfen, ob der Ort geöffnet wäre. Ich bekomme jedoch diesen Fehler, kann jemand helfen?
F:\Lab III Car and Teleporter\Teleporter Project\TeleporterActor.java:42: error: cannot find symbol
if (null == get(loc))
^
symbol: method get(Location)
location: class TeleporterActor
1 error
Process completed.
public void act()
{
Location place = getLocation();
Grid<Actor> gr = getGrid();
int cols = gr.getNumRows();
int rows = gr.getNumCols();
do
{
Location loc = new Location((int)(Math.random() * rows - 1), (int)(Math.random() * cols - 1));
if (null == get(loc))
moveTo(loc);
}
while (place == getLocation());
}
Lösung
Der Fehler bedeutet, dass Sie keine haben get
Methode in Ihrem TeleporterActor
Klasse, daher weiß der Compiler nicht, was Sie unter Verwendung verstehen get
.
Fügen Sie entweder eine solche Methode zu Ihrem hinzu TeleporterActor
Klasse oder rufen Sie es beispielsweise auf einem anderen Objekt auf
gr.get( loc );
wo ich das angenommen habe get
Methode ist auf Ihrem verfügbar Grid
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow