Ausgabe einrücken?

JavaNull99

Mitglied
Hallo Forum,

hab mal wieder ein Problem. Mache gerade Online einen Javakurs und soll ein Baum Programm aus Sternen basteln. Leider ist da keine Lösung dabei und schaffen den letzten Schritt nicht.
Das Programm soll mit einer while Schleife gelöst werden.

Das habe ich bereits, nur bei meiner ausgabe wird mir ein Keil ausgegeben.
Wie kann ich es machen, dass die Sterne in Baumform angeordnet werden?

Gruß

Java:
import java.io.*;

public class Uebung 
{
	public static void main(String[] args) throws IOException
	{
	BufferedReader stdin = new BufferedReader (new InputStreamReader (System.in));
	
	String inData;
	int zaehler;
	int stern;
        int n;
	
	System.out.println("Anfangszahl der Sterne: ");
	inData = stdin.readLine();
	n = Integer.parseInt(inData);
	
	
		zaehler = 1;
		
		while (zaehler<=n)
		{	
			stern = 1;	
			
			while (stern<=zaehler)
			{
				System.out.print("*");
				stern = stern+1;
			}
				System.out.println();
				zaehler=zaehler+2;
		}
		
	}
}
 
Zuletzt bearbeitet:
Du hast das
Code:
int
bei
[JAVA=15]n = Integer.parseInt(inData);[/code]
vergessen, so lässt es sich nicht kompilieren.

Wegen des Baumes: Wie soll der denn genau aussehen? Wie ein richtiger Baum, aber in Sternform, oder wie ein Baum im informationstechnischen Sinne? Link zum Tutorial?
 
Am einfachsten wäre es wohl, die Ausgabe (ganz langweilig) mit Leerzeichen einzurücken.
Schau, wo die längste mit Sternchen gefüllte Zeile in der Ausgabe ist (im Beispiel sind das 15 Sterne, zudem haben alle Zeilen eine ungerade Anzahl Sterne, damit es einen Stern geben kann, der genau in der Mitte ist). Vor den allerersten Stern musst du also 7 Leerzeichen einfügen (15/2 = 7 R 1, der eine Rest ist der jeweils mittlere Stern). Um das zu automatisieren, bastelst du dir dann einen Algorithmus.

Es gibt auch eine Methode String.format(), aber ich weiß nicht, ob man die für diesen Zweck gebrauchen kann, da ich bisher kaum damit gearbeitet habe.
 

Zurück
Oben