Kann nach jedem Schleifendurchlauf in Java ein Variablename geändert werden?

... komplette Frage anzeigen

3 Antworten

Nein, aber warum solltest du das denn wollen?

Würdest du dynamisch Variablennamen erzeugen, könntest du ja nie darauf referenzieren, da du diese ja vor der Laufzeit entsprechend verwenden würdest, sie jedoch erst zur Laufzeit generiert werden würden.

Du könntest höchstens eine Array verwenden:

Label[] times = new Label[20];

in deiner Schleife kannst du dann entsprechend dynamisch drauf zugreifen:

for (int i = 0; i < 20; i++) {
  times[i] = new Label(spalte, zeile, getTime());
  wsheet.addCell(times[i]);
}
Antwort bewerten Vielen Dank für Deine Bewertung

Soweit ich weiß geht das nicht direkt, allerdings könntest Du entweder ein Array verwenden und dann time[0], time[1] usw beschreiben (also time[a])

Oder aber Du nimmst die Krücke

if (a==0)

time...

(wobei das dem Sinn der Schleife ziemlich zuwiderläuft...)

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von JupStrunk
13.06.2016, 15:14

Oder aber Du nimmst die Krücke



if (a==0)

time...


(wobei da



zumal a niemal 0 sein kann !!! :D

0

nein, das geht so nicht !!!

was Du machen kannst, ist ein "Array" zu definieren !!! ;)

in deinem Fall währe das dann "vor der Schleife": 

Label time[11];

in der Schleife kannst Du dann die einzelnen Elemente so aufrufen:

time[a] = new Label(spalte, zeile, getTime);
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von MarcoSwatch
13.06.2016, 14:49

Hab ich auch schon versucht. Das Problem war, dass Java "time[a]" als Variablename anschaut und nicht den Inhalt. Das heisst Java sieht den Namen der Variable "Label time[a]" als "Label time[a]" und nicht als "Label <Inhalt von time[a]>"

0

Was möchtest Du wissen?