Wie xxxcyberxxx bereits erklärt hat, entweder machst du es mit verschachtelten Schleifen (wenn ihr dies bereits gelernt habt).
int sternchen = 5;
for (int i = 0; i < sternchen; i++) {
for (int j = 0; j < i + 1; j++) {
System.out.print("*");
}
System.out.println();
}
Man kann es sich so vorstellen:
Ich will n Zeilen mit jeweils n Sternchen darin haben (1. Zeile 1 Sternchen, 2. Zeile 2 Sternchen etc). Die Variable n habe ich im Code zu sternchen umbenannt.
Ich kann aber nur ein Sternchen gleichzeitig schreiben, deswegen schreibe ich in jeder Zeile dieselbe Anzahl an Sternchen einzeln raus.
Das bedeutet im Code: Die erste for-Schleife wird so oft ausgeführt, wie du Zeilen mit Sternchen haben willst. Die zweite for-Schleife wird dann jeweils so oft ausgeführt, wie du gerade Zeilen hast.
Wenn dann die einzelnen Sternchen rausgeschrieben sind, will ich aber noch ein Leerzeile einfügen. Das mache ich mit einem leeren println() oder print("\n")
Info: j < i + 1
Das + 1 kommt daher, dass beim Programmieren meist von 0 weggezählt wird, siehe Initialisierung von i, wir aber nicht mit 0 Sternchen anfangen wollen sondern mit 1
Oder mit mehreren Ausgaben falls ihr Schleifen noch nicht gemacht habt.
System.out.println("*");
System.out.println("**");
System.out.println("***");
System.out.println("****");
System.out.println("*****");
Info: println() fügt am Ende des übergebenen Strings automatisch eine Leerzeile (Char code \n) ein. print() macht dies nicht, weshalb im Beispiel von Destranix die händisch eingefügt wurden
Wenn du das ganze umdrehen willst, musst du die Schleife so umstrukturieren, dass du rückwärts durchgehst.
int sternchen = 5;
for (int i = sternchen; i > 0; i--) {
for (int j = 0; j < i; j++) {
System.out.print("*");
}
System.out.println();
}
Du fängst bei der Anzahl an Sternchen an und zählst pro Zeile eins runter, bis die Anzahl bei 0 angekommen ist.
Oder wieder ohne Schleifen:
System.out.println("*****");
System.out.println("****");
System.out.println("***");
System.out.println("**");
System.out.println("*");