Wie kann man in Java ein if statement in die loop reinschreiben?

3 Antworten

for (int i = 0; i < (days%7 == 0? 1: 2); i++)

Wäre dann deine Schleife.

Wenn days%7 == 0 - dann gilt i<1, ansonsten i < 2. Das kannst du auch weiter verketten, indem du im else Teil (2) nochmals in Klammern so eine Abfrage einbaust. Die Syntax zum Tenery Operator lautet;

(Ist die Bedinungung wahr)?Wahr:Falsch

true?true:false > Ergebnis true.

Allerdings ist es wesentlich eleganter, wenn du das einfach vorher festlegst, anstelle im If Teil. Dann wird das nämlich unübersichtlich.

int limiter = 0;
if (days % 7 == 0)
  limiter = 1;
else if (days % 7 == 1)
  limiter = 2;
for (int i = 0; i < limiter; i++)
  // Foo
Woher ich das weiß:Berufserfahrung – 💻 Zertifizierter Sr. Cloud Engineer im IT-Consulting

Probier das mal:

days%7 == 0 ? days / 7 : HIER MUSS NOCH HIN, WAS IM ELSE KOMMT
Chropcc 
Fragesteller
 22.10.2021, 14:33

Danke

0
int limit = days%7 + 1
for (int i=0; i <= limit; i++) {
  ...
  }

So?