Wie lassen sich Konstanten in Bedingung stellen?

mathilda712

Mitglied
Noch einmal mit Ergänzung. Der Konstruktor meiner Klasse hat zwei Parameter vom Typ double: x und y. Außerdem hat ein Objekt der selben Klasse jeweils die private Objektkonstanten x und y, welche ebenfalls den Typ double haben. Falls der Konstruktorparameter y negativ ist, soll die Objektkonstante y mit 0 initialisiert werden.

Meine Idee war es das Ganze ganz "simpel" mit einer Verzweigung zu lösen, aber ich bekomme einige Fehlermeldungen angezeigt.

Java:
public class World{
  public World(double x, double y) {
    this.x = x;
    this.y = y;
  }

  private final double x;   //Objektkonstante x
  private final double y; //Objektkonstante y

 
  if(this.y < 0) {
    y = 0;
  }

Ich kann mir vorstellen, dass es eventuell daran liegt, dass die Objektkonstante y final ist, aber zeichnet sich eine Objektkonstante nicht damit aus, dass sie final ist?
 
Nein, der Fehler liegt darin, dass dein code Unfug ist.

Du kannst nicht einfach irgendwo in eine Datei Code hinpacken und das kompiliert. Der muss (in der Regel - gibt ein paar Ausnahmen) in eine Methode/Konstruktor rein.

Das heißt zum einen muss der Code in den Konstruktor rein,, zum anderen musst du im Code des Konstruktors folgendes sicherstellen:
* Egal was x/y übergeben wird, es wird exakt eine Zuweisung eine this.y gemacht.
 

Zurück
Oben