Java BlueJ Projekt für Schule(Tic Tac Toe) zeigt Fehler an?
Liebe Gute Fragen Community,
ich soll für die Schule ein Tic Tac Toe Spiel programmieren, jedoch zeigt mir das Programm dauernd den Fehler an:“Die nicht statische Methode Kreis_setzen (int) kann nicht aus einem statischen Kontext referenziert werden“(ins deutsch übersetzt).Ich versteh jedoch nicht wo hier das Problem liegt. Kann mir da jemand helfen und es mir erklären und wenn möglich sogar eine Lösung für den Fehler nennen?
viele Grüße und Danke im Voraus,
xela


1 Antwort
Spielfeld ist vermutlich eine Klasse, doch die Methoden, die du aufrufen möchtest, sind nicht klassengebunden / statisch.
Am besten du gibst deinem Spieler einfach nur eine Instanz des Spielfelds (z.B. via Konstruktor).
public class Spieler {
private Spielfeld spielfeld;
public Spieler(Spielfeld spielfeld, /* etc. ... */) {
this.spielfeld = spielfeld;
/* ... */
}
Dann könntest du in setzen auch auf die Methoden des Spielfelds zugreifen:
spielfeld.Kreis_setzen();
Ich würde übrigens sehr dazu raten, übliche Java-Konventionen beizubehalten und bspw. Methoden- und Variablennamen mit einen Kleinbuchstaben zu beginnen. So sind sie deutlich von Klassennamen unterscheidbar.