Strichpunkt - was fehlt?

  • Themenstarter Themenstarter Luk09
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
L

Luk09

Gast
Hallo

ich bin noch schüler und habe erst vor kurzem mit java angefangen.
ich verwende BlueJ als editor und compiler und hab folgendes problem:

Java:
class AMPEL {
  //Att
  int positionX;
  int positionY;
  int ampelphase;
  //Konst
  AMPEL () {
      positionX = 1;
      positionY = 1;
      ampelphase = "rot";
    }
  //Meth
  void positionSetzten () {
      if (positionX=1) {positionX=2};
      if (positionY=1) {positionY=2};
        }
    }

beim übersetzten meckert mein compiler: ; expected bei den beiden if bedingungen (zeile 14 und 15) in der void methode ...

dann mir jemand sagen was ich falsch gemacht habe?
danke
 
Wie du richtig erkannt hast: Es fehlt ein Strichpunkt. Um genau zusein sogar zwei (Zeile 14 und 15).
Außerdem liefert in den selben Zeilen eine Zuweisung eines Ints keinen Boolean -> nimm == wenn du vergleichen willst.
 
Der meckert doch noch an einer Reihe anderer Stellen ....

1. Nach Java-Code-Konvention beginnen Klassen mit einem Großbuchstaben. Komplett großgeschrieben werden nur Konstanten.
2. Einer als int deklarierten Variable kann man keine Zeichenkette zuweisen.
3. Jede Anweisung muß durch einen Semikolon abgeschlossen werden.
4. Einfache Gleichheitszeichen weisen einer Variable einen neuen Wert zu. Zurückgegeben wird bei diesem Vergleich der der Variable zugewiesene Wert. Anders als viele andere Programmiersprachen führt Java keine implizite Typkonvertierung von int nach boolean durch. Ein if-Statement erwartet aber, dass seine Bedingung einen boolean-Wert ergibt.

Für das "; expected"-Problem habe ich die Änderung mal durchgeführt, den Rest mußt du selbst rausfinden 😉:

Java:
class AMPEL {
  //Att
  int positionX;
  int positionY;
  int ampelphase;
  //Konst
  AMPEL () {
      positionX = 1;
      positionY = 1;
      ampelphase = "rot";
    }
  //Meth
  void positionSetzten () {
      if (positionX=1) {
          positionX=2;
      }
      if (positionY=1) {
          positionY=2;
      }
  }
}
 
Ich würde ja eher zu einer enum raten ... (Für einen Anfänger völlig irrelevanter Tipp.)

Edit: Text in Klammern hinzugefügt
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben