Logik von verschachtelten For Schleifen

Bastik1007

Aktives Mitglied
Morsche,

also ich versteh noch nicht ganz, warum hier mit
Java:
		for (int i = 1; i <= 5; i++)			
		{
			for (int j = 1; j <= i; j++)
			{
				System.out.print("x");
			}
			System.out.println(" ");
		}

dieser Output erzeugt wird:
x
xx
xxx
xxxx
xxxxx

der erhöht doch am ende von der 2. for schleife j um 1, also is j = 2, dann gibt der ne leerstelle aus und erhöht i um 1, jetzt ist i = 2, er geht in die 2. forschleife wieder und jetzt ist ja j = 2 also direkt schon kleiner gleich i, aber warum gibt er mir zwei x aus und immer so weiter? Irgendwie steh ich auf dem Schlauch 😀
 
nein jot wird jedesmal neu erzeugt.

d.h.

Erster Durchlauf: i=1 zweite schleife läuft einmal durch dann kommt eine new Line
zweiter Durchlauf i=2 j wird wieder mit 1 initialisiert und daher wird innere schleife 2mal durchlaufen.
dritter Durchlauf i = 3 j wird wieder mit 1 initialisiert und wird daher 3 mal durchlaufen
 
...
der erhöht doch am ende von der 2. for schleife j um 1, also is j = 2, dann gibt der ne leerstelle aus und erhöht i um 1, jetzt ist i = 2, er geht in die 2. forschleife wieder und jetzt ist ja j = 2 also direkt schon kleiner gleich i, aber warum gibt er mir zwei x aus und immer so weiter? Irgendwie steh ich auf dem Schlauch

evtl. hast du übersehen, dass in Zeile 5
[java=5]System.out.print("x");
[/code]
und in Zeile 7
[java=7]System.out.println(" ");
[/code]
steht...also einmal nur [c]print[/c] und einmal [c]printLN[/c], was sozusagen eine neue Linie beginnen lässt.

edit:
außerdem erhöht er am Ende des 1.Durchlaufes in der 2. For-Schleife
Code:
j
nicht, da die Abbruchbedingung erfüllt ist: [c]j<=i[/c] j =1 und i = 1;
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben