Verschachtelte for Schleife?
Ich verstehe die for Schleifen nicht so ganz kann mir das jemand erklären? vorallem das mit dem if verstehe ich nicht
public static void main(String args[]) {
for (int i = 0; i < 4;i++) { 1. Schleife
for(int j = 0; j < 7; j++) { 2. Schleife
if(j < (6/2-i)||j>(6/2+i)) {
System.out.print(" ");
}
else{
System.out.print("X");
}
}
System.out.println();
}
System.out.println(" X ");
}
}
Ausgabe:
Sprache: Java
2 Antworten
Bei den ifs sagst du;
Solange j kleiner als (6 / 2-i) ist ODER j größer als (6/2 + i) ist, printest du ein leeres Zeichen, und wenn das nicht mehr der Fall ist, printest du ein X. Mit den for schleifen inkremmentierst du die Werte jeweils, weswegen in der ersten Zeile bspw. nur ein X und mehrere Leerzeichen stehen, in der vorletzten Zeile aber gleich mehrere X‘e.
Das letzte X steht alleine, verwirre dich nicht damit.
Eventuell kannst du es dir ja selber mal ausrechnen; setze doch mal statt „i“ die 2 ein und schaue ob das bei der if so aufgeht wie die Aufgabe es haben mag :)
In dem du mit den Werten in der For Schleife und if Verzweigung spielst.
i < 7
j < 14
(14/2-i) und (14/2+i)
Versuche es mal. Glaube sollte dir dann einen etwas größeren Baum liefern :)
das hatte ich auch schon versucht es klappt aber nur etwas falsch siehe hier: https://ibb.co/myTyjGM
ich hab die lücke beim if mit einem "-" getauscht damit man das besser sieht
Edit: Wenn ich es jetzt wie bei dir mache kommt das raus: https://ibb.co/9sWp6DQ
Habe den Code bei mir mal ausprobiert, funktioniert so wie ich das meinte. Kannst du eventuell den verbesserten Code reinschicken?
zettel und stifft und dann gehst du das einfach mal durch . setzt die zahlen ein , dann siehst du es selber . mehr kann man auch nicht erklären . und nächstes mal nimmst du den
codeblock </> zum formatieren
Danke habs jetzt verstanden. Wie mach ich den baum aber größer ohne das ich die struktur verändere?