for(int x=1;x<=6;x++) { for(int y=1;y<=x;y++ { System.out.println("z"); }}
2 Fragen dazu:
1.) Wieso kommt am Ende mehr als 6 mal z raus? Die erste for-Schleife geht ja nur bis <=6, das heißt es müssen doch genau 6 mal z in der Ausgabe sein....
2.) Allgemein findet bei der for-Schleife die Inkrementierung erst nach dem Befehl statt oder?
Die erste for-Schleife geht ja nur bis <=6, das heißt es müssen doch genau 6 mal z in der Ausgabe sein....
Aber die innere Schleife geht ja immer von 1 bis x. Kann man vielleicht sich so vortellen
x y out 1 1 z 2 1 zz 2 zzz 3 1 zzzz 2 zzzzz 3 zzzzzz 4 noch 4 mal z dazu 5 noch 5 mal z dazu 6 noch 6 mal z mal
müssten dann am Ende 1+2+3+4+5+6 = 21 z da stehen.
2. stimmt wohl, allerdings findet der Check eingangs statt.
Wie läuft denn das Programm genau ab nachdem die erste Zeile durchlaufen ist?
Mir ist es jetzt klar.
Aber wieso wird das immer addiert? Macht dies die for-Schleife etwa auch?
Nein. ich denke die "z" stehen alle untereinander
wegen "println".
Ja, aber wieso wird z immer um eins erhöht?
Die innere Schleife [d.h. das y] läuft von 1 bis x. Darum kommt dann in jeder inneren Schleife x mal z raus.
Ein anderes Problem?
Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos