Objektattribut in Methode erhöhen?

NIcht solchen Code wie

NewIndex= (NewIndex-1>=0) ? (NewIndex--) : (NewIndex=NewIndex+15);

schreiben :astonished: Da is so viel Murx drin komprimiert, dass ich es gerade als Herausforderung sehe, aufzuzählen:

  • NewIndex-1>=0 ist NewIndex>=1
  • Der Fall von NewIndex = NewIndex--; ist das klassische Beispiel für „So schreibt man das nicht, aber in einer Anfänger-Klausur kommt garantiert mal die Frage ‚Was kommt dabei raus?‘, weil so schön viele sie falsch beantworten“
  • Der andere Fall lautet, ausgeschrieben
    NewIndex=NewIndex=NewIndex+15 :dizzy_face:

Also: Schreib’ das nochtmal richtig, und … probier’ halt mal sowas hier aus:

System.out.println("addColor wurde mit "+color+" aufgerufen");
System.out.println("NewIndex ist vorher  "+NewIndex);
if (...) { ... }
System.out.println("NewIndex ist nachher "+NewIndex);

und du wirst sehen: Wenn du den Wert richtig änderst, dann … macht der Computer auch das, was du ihm sagst…


Zum Thema Performance: Achte nicht drauf. Nicht auf dieser Ebene. Und wenn du mir nicht glaubst:

(Und wenn du nicht weißt, wer Brian Goetz ist: Achte nicht auf Performance :wink: )

1 „Gefällt mir“