# Methode über for-schleife aufrufen und verändern



## lotte32 (20. Nov 2009)

Hallo

Ich habe eine Methode geschrieben die mir ein Deieck zeichnet ( auf dem Bild das obereste dreieck)

nun meine Frage, is es möglich über eine andere Methode diese Methode per for-schleife abzurufen und diese dreiecke dann übereinander zusetzen und die sternzahl noch zusätzlich zu erhöhen?
Das end ergebniss sollte dann so aussehn






Für Tipps und anregungen wär ich sehr dankbar. lg


----------



## Sempah (20. Nov 2009)

Öhmm ja klar?


```
public void zeichneNMal(int n) {
for (int i = 0; i < n; i++) {
zeichneDreieck(int rows);
}
}
```


----------



## bygones (20. Nov 2009)

ohne irgendwelche zusatzfunktionen

```
static void printStar(int end) {
        for (int i = 1; i <= end; i += 2) {
            int white = end - i;
            for (int j = 0; j < white; j++) {
                System.out.print(" ");
            }
            for (int j = white; j < end; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
```

ARGH... post wurde geandert....


----------



## Der Müde Joe (20. Nov 2009)

einmal reicht:
http://www.java-forum.org/java-basi...thode-ueber-schleife-aufrufen-veraendern.html


----------



## lotte32 (22. Nov 2009)

Hallo, ich nochmal =)

Ich hab es jetzt soweit hinbekommen das ich die dreiecke so ausgegeben bekomme wie ich es wollte, danke für eure hilfestellung!

Nur hab ich noch ein problem was ich nicht so ganz in den griff bekomme.

Die Sternchen werden mir immer ohne die leerzeichen ausgegeben also sprich die dreiecke sind nicht mittig übereinander, wie kann ich das am besten machen das ich es schön mittig bekomme?

Kann man vielleicht die mitte bei 25 leerzeichen festlegen oder so?

komm da grad nicht weiter =(


----------



## Marco13 (22. Nov 2009)

Poste am besten den aktuellen Code.

Ganz allgemein: Du weißt, wie lang die längste Zeile ist. Wenn die längste Zeile N Sterne enthält, dann müssen in der Zeile, in der M Sterne gezeichnet werden, erstmal (N/2)-(M/2) Leerzeichen stehen. (M und N sind ungerade)


----------



## lotte32 (22. Nov 2009)

Hallo, danke für die Antwort, mir würde es schon reichen wenn ich einen festen leerzeichen wert vergebe. Hab da an so 25 gedacht, das sollte dafür reichen.


```
public void maleBaum(int stufe) {
    	for (int i = 0; i < stufe; i++) {
    		int reihenzahl = 2;
    	    zeichneEinDreieck(reihenzahl + 2*i);
    	}
    }
```

aber wie kann ich das umsetzen? hab schon rumprobiert leider kein gutes ergebnis erzielt


----------



## Marco13 (22. Nov 2009)

Poste den Relevanten Code, am besten compilierbar.

Wenn du das mit einer festen Einrückung machen willst, _...dann müssen in der Zeile, in der M Sterne gezeichnet werden, erstmal (25/2)-(M/2) Leerzeichen stehen. (M und 25 sind ungerade)_


----------

