# Dreieck



## narupi (9. Nov 2012)

Hallo, ich soll mit java ein Dreieck aus Sternchen ausgeben lassen.
Es soll so funktionieren, wenn ich eine ungerade Zahl > 0 eingebe soll die unterste Reihe des Dreiecks diese anzahl an Sternchen haben. Bis jetzt habe ich es nur geschafft, dass es mir sternchen ausgibt mehr aber nicht.


```
public class Dreieck {


public static void main(String[] args) {

int zeilen = 10;

for (int i = 0; i < zeilen; i++) {

for (int j = 0; j <= i; j++) 
System.out.print("*");

for (int l = 1; l <= i; l++) 
System.out.print("*");

System.out.println(); 
}
}
}
```

Hoffe ihr könnt mir helfen. LG


----------



## TryToHelp (9. Nov 2012)

Soll deine Ausgabe so aussehen?

```
*
 ***
*****
```

Dann brauchst du eine Schleife die deine Zeilen hochzält und in jeder dieser eine Schleife die dir die Sternchen zählt, sowie die führenden Leerzeichen


----------



## narupi (9. Nov 2012)

wenn ich zb. java Dreieck 3 eingebe soll es so ausehen, analog java Dreieck 7, mit 7 Sternchen unten.

```
*
    **
   ***
  ****
 *****
*******
```


----------



## SlaterB (9. Nov 2012)

zwei Schleifen für die Sternen brauchst du nicht, nur eine die passen zählt,
rechne von i aus die korrekte Anzahl aus, 
findest du eine Formel die für i == 0  eine Anzahl 1 ergibt, für i == 1 eine Anzahl 3 usw., was immer du brauchst?

vor den Sternchen gib evtl. Leerzeichen aus, auch wieder Anzahl berechnen, eine ähnliche Schleife


----------



## narupi (9. Nov 2012)

danke für die antwort, kannst du das genauer erläutern stehe grade voll auf dem schlauch, bin auch ein ziemlicher anfänger. wäre super lg


----------



## SlaterB (9. Nov 2012)

int a = 4;
int b = ..;

ist es dir nicht möglich, zu rechnen, bei den .. irgendwas einzusetzen?
a+5, 3/a, was auch immer

in der Schleife genauso, i ist ein Wert, daraus einen anderen berechnen


----------



## narupi (9. Nov 2012)

was meinst du mit int a und int b, kannst du es anhand meines codes vlt erklären? und wo soll ich was einsetzen?

lg


----------



## SlaterB (9. Nov 2012)

wenn du aus Aussagen wie 'die Schleife muss bis zu einem bestimmten Wert laufen, vorher diesen Wert berechnen' 
nicht auf gewisse Codezeilen schließen kannst, dann kann ich dir leider nicht helfen

möglicherweise posten noch andere fertigen Quellcode, ich kann nur weiter auf Zeichen von Intelligenz hoffen,
teste allein mehrere Versuche, sprich in Worten aus, was dir unklar sein könnte, welche Varianten du vermutest,
irgendwas außer 'bitte Lösung posten'


----------



## narupi (9. Nov 2012)

ja es soll ja quasi bis unendlich laufe, denn wenn ich z.b java Dreieck 23 eingebe, soll die untere Reihe eben 23* ausgeben, das ist mir nicht klar wie ich das definieren soll.

und bei int Zeilen habe ich ja 10, das kann ja aber auch nicht komplett richtig sein, da ja immer unterschiedlich viele zeilen ausgegeben werden sollen.


----------



## SlaterB (9. Nov 2012)

die Übergabe einer Zahl beim Programmstart ist ein anderes Problem,
args[0] vom main-Parameter ist ein String, den kann man in eine Zahl umwandeln

Konvertierung von Strings in Integer und umgekehrt


----------



## TryToHelp (9. Nov 2012)

Oder du ließt von der Console ein, dann kannst du eingeben z.B. 7 und dann hast du deinen Wert. 
Lesen von der Konsole
Der Eingelesene Wert ist dort auch ein String und muss ebenso konvertiert werden wie Slater gesagt hat.
Das eingelesene speicherst du dann in eine Variable ein und dann kannst du mittels irgendeiner Formel ausrechnen, wie viele Zeilen du brauchst, diesen Wert als grenze für dein Array nehmen und dann in einer inneren schleife hochzählen, wie viele leehrzeichen bzw. Sterne du brauchst.


----------

