/* Lösung zum Übungsblatt "Tannenbaum" von Dominik Panzer Aufgabe b algorithmus: höhe des baumes einlesen für jede zeile: spaces generieren (immer zeilenanzahl minus die nummer der zeile in der man sich befindet) sterne generieren (anzahl = zeilennummer*2-1) (eigentliches problem der aufgabe) ausgabe der generierten zeile stamm zeile 1 ausgeben stamm zeile 2 ausgeben wiederholen bis eingabe nicht zwischen 3 und 20 */ class tannenbaum //beginn der klasse { public static void main (String [] args) //main methode { StdEingabe instream_ref; //usereingabe referenzvariable int zeilen; // anzahl der zeilen int i; //counter nummer 1 int j; //counter nummer 2 instream_ref = new StdEingabe(); //objekt für usereingabe erzeugen zeilen = instream_ref.liesIntegerN("Höhe der Baumkrone: "); //höhe des baumes einlesen while (zeilen >= 3 && zeilen <= 20) //wiederholen bis eingabe außerhalb des bereiches 3 bis 20 { for (i=1;i<=zeilen;i++) //die einzelnen zeilen durchgehen { for (j = 1; j <= zeilen-i; j++) //spaces vor den * generieren System.out.print(" "); for (j = 1; j <= i*2-1; j++) //anzahl der * generieren System.out.print("*"); System.out.println(); //das ganze ausgeben } for (j = 1; j <= zeilen-1; j++) //die spaces vor dem stamm System.out.print(" "); System.out.println("*"); //der stamm for (j = 1; j <= zeilen-1; j++) //das ganze nochmal, da stammhöge gleich 2 System.out.print(" "); System.out.println("*"); zeilen = instream_ref.liesIntegerN("Höhe der Baumkrone: "); } } }