Java Wertzuweisung (2. Werte ohne If)

Doch, kennt Java natürlich:

int a = b == null ? 24 : makeSomeCoffee();
 
Modulo ist hier wohl der richtige Weg, ausgefallener wäre ne map wo 13. auf 1 zeigt und 14 auf 2 aber das wäre nur Spielerei, nimm mod und gut ist
 
Modulo 12 würde in dem Fall aber den Bereich 3-11 auf 3-11 und 12-14 auf 0-2 abbilden. Um von 3 - 14 auf 1-12 abzubilden, musst du zuerst minus 1, dann modulo 12 und dann nochmal plus 1 rechnen. Dann wird aus der 13 die eins und aus der 14 die 2 und die 12 bleibt 12.
 
Zuletzt bearbeitet:
@Magogan
???
13 Mod 12 ist doch die 1, wieso sollte man da -1 und dann nochmal +1 ? - auch wirst du niemals auf 12 kommen da Mod 12 logischweise nur Werte von 0-11 zurückgibt.
 
Wenn Dezember die 12 sein soll, musst du es wie von mir beschrieben machen, da 12 modulo 12 ja 0 ist. Wenn du aber vorher minus 1 rechnest, wird die 12 zur 11, 11 mod 12 ist 11 und plus 1 wieder 12.
 
ah ok - ja das stimmt, oder man definiert eben 0 = Dec dann spart man sich 2 Operationen :D
 
Zurück
Oben