3x3 ,,x" programmieren in Java?

5 Antworten

Hallo.

Das Bild was du erzeugen möchtest, solltest du dir als Tabelle vorstellen. Es ist eine Tabelle mit 3 Reihen und je 3 Spalten (3x3).

Die äußere Schleife regelt die Reihen, als von oben nach unten. Die innere Schleife regelt dann die Spalten, also von links nach rechts. Zuerst sind wir also in der ersten Reihe, dort sollen 3 x gezeichnet werden. Dafür das

System.out.print("x ");

Hat er das 3 mal gemacht (also 3 x gezeichnet), soll er logischerweise in die nächste Reihe übergehen. Dafür kommt dann nach der inneren Schleife das

System.out.println();

Was letztlich nichts anderes macht, als dem Compiler zu sagen, er soll in die nächste Reihe gehen.

.............

Was würde nun passieren, wenn du diese Anweisung mit in die innere Schleife packst? Genau, er würde nach jedem x sagen, dass er in eine neue Reihe gehen soll, du hättest also 9 x untereinander, statt 3*3 x in Tabellenform.

Woher ich das weiß:Studium / Ausbildung – Diplom Wirtschaftsinformatiker

das sind zwei for schleifen, die innere läuft 3 mal und dabei werden erstmal 3 x getippt. wenn die durch ist läuft die äußere for schleife nochmal und macht mit den println einen Absatz. Und das passiert 3 mal.

for (int j = 0; j < 3; j++) {
System.out.print("x ");
}
System.out.println();

^ was das da oben macht ist nur eine zeile:

"x x x"

das System.out.print("x "); steht innerhalb der schleife, weil das X drei mal gedruckt muss.

das System.out.println(); bereitet die nächste zeile vor indem es eine zeile weiter nach unten geht, und deswegen ist es nicht in der schleife; es muss nur einmal ausgeführt werden, sonst würde es 3 mal die zeile nach unten verrutschen

Der Grund, warum

System.out.print("x ")

vor der geschweiften Klammer kommt und

System.out.println()

danach, liegt an der Art und Weise, wie die Ausgabe auf der Konsole formatiert werden soll.

System.out.print("x ")

gibt den Buchstaben "x" aus, gefolgt von einem Leerzeichen. Diese Methode

print

gibt die Ausgabe auf der Konsole aus, ohne einen Zeilenumbruch hinzuzufügen.

Die geschweifte Klammer

{}

definiert den Bereich des inneren

for

-Schleifenblocks. Alles, was innerhalb dieser Klammer geschrieben wird, wird in jeder Iteration der inneren Schleife ausgeführt. In diesem Fall wird also "x " dreimal horizontal ausgegeben.

Nachdem die innere Schleife beendet ist, wird

System.out.println()

verwendet. Diese Methode

println

gibt einen Zeilenumbruch aus, der bewirkt, dass die nächste Ausgabe auf der Konsole in einer neuen Zeile beginnt. Dadurch wird erreicht, dass die "x"-Zeichen in einer 3x3-Matrix angezeigt werden.

Wenn

System.out.println()

innerhalb der inneren Schleife platziert würde, würde nach jedem "x " ein Zeilenumbruch erfolgen, und die Ausgabe würde vertikal statt horizontal angezeigt werden.

Das println() kommt insgesamt nur 3x, nämlich in jeder Iteration von i. Das print() kommt insgesamt 9x, weil j für jede Iteration von i nochmal 3x ausgeführt wird.
Im Prinzip erzeugst du damit den Zeilenumbruch (println erzeugt einen Linebreak) nach jeder Reihe (j macht immer 3 Kreuze pro Reihe).

Hoffe, das hat geholfen :)