# Mehrere Variablen gleichzeitig ändern



## MrKingpin47 (11. Mai 2010)

Hey!
Ich möchte in meinem Javaprogramm mehrere (viele) Variablen gleichzeitig den gleichen Wert zuweisen, da ich solche (ewig lange) Zuweisungen vermeiden möchte:


```
a = 1;
b = 1;
c = 1;
d = 1;
```
...

Gibts da irgend einen Befehl, der mir weiterhelfen könnte??? ???:L
Oder kann ich die Variablen in eine art "Block" stecken und dann dem ganzen Block auf einmal den Wert "1" zuweisen? Irgendwie sowas suche ich!


----------



## maki (11. Mai 2010)

Arrays bzw. Collections vielleicht?


----------



## MrKingpin47 (11. Mai 2010)

Das ging ja schnell 
Ein Array wäre eine Option, hätte aber gehofft, dass es einen weniger umständlichen Befehl gäbe. Kannst du mir "Collections" ein bisschen erklären, nie davon gehört?


----------



## maki (11. Mai 2010)

Trail: Collections (The Java™ Tutorials)

Arrays sind umständlich?
Du findest es einfacher "viele" lose Variablen zu haben? Dann verstehe ich deine Frage nicht


----------



## Der Müde Joe (11. Mai 2010)

```
a=b=c=d=e=f=1;
```

;-)


----------



## MrKingpin47 (11. Mai 2010)

@ Der Müde Joe
 Warum kompliziert wenns auch einfach geht, oder? 
Aber mein Problem ist, dass sich bei mir sehr viele (ca. 30) Variablen im Code befinden und die alle ziemlich lange namen haben (zB "PferdMitSattelUndHut" )

@maki
Arrays hatte ich anfangs gar nicht in betracht gezogen, Ich werds mal ausprobieren. Ich hatte halt gehofft, es gäbe einen netten kleinen Befehl, der mein Problem lösen könnte.


----------



## Der Müde Joe (11. Mai 2010)

Die Frage ist, brauchst du alle Variablen einzeln, oder genügt es, wenn sie in einem Array sind. Sprich array[2] und da array[7] und hier array[13] macht sich nicht grad gut und ist auch nicht gerade schön.

Wenns einfach 30 Werte sind die man braucht, sind Arrays/Collections mittel der Wahl


----------



## LoR (11. Mai 2010)

MrKingpin47 hat gesagt.:


> Aber mein Problem ist, dass sich bei mir sehr viele (ca. 30) Variablen im Code befinden und die alle ziemlich lange namen haben (zB "PferdMitSattelUndHut" )



Hört sich für mich eher nach einem Designfehler an


----------



## MrKingpin47 (11. Mai 2010)

Ich denke, es genügt, wenn sie in nem Array sind. Ich will allen Variablen ja den gleichen Wert zuweisen. 
(Kann es leider nicht gleich ausprobieren, da ich mein Eclipse irgendwie gelöscht hab )


----------



## MrKingpin47 (11. Mai 2010)

LoR hat gesagt.:


> Hört sich für mich eher nach einem Designfehler an




Wie meinst du das genau?


----------



## Tomate_Salat (11. Mai 2010)

Wozu musst 30Variablen ändern?! Wie initalisierst du den diese kompletten Variablenen?!


----------



## Landei (11. Mai 2010)

Wie wäre es mit einer eigene Klasse für deine Variablen?

```
public class IntWrapper {
   private static Set<IntWrapper> wrappers = new HashSet<IntWrapper>();
   public int value;
   public IntWrapper(int value) {
      this.value = value;
      wrappers.add(this);
   }

   public static void setAll(int value) {
      for(IntWrapper w : wrappers) {
         w.value = value;
      }
   }
}
```


----------

