Sternchen Pyramide

Stap

Mitglied
Hallo alle Zusammen,
bin neu hier und ich hoffe ihr koennt mir weiter helfen. Bin seit Tagen dabei einen Fehler in meinem Java Quelltext zu finden. Aber ich finde ihn nicht. Das ist zum verzweifeln. Ich hoffe jemand kann mir einen Tip geben wo der Fehler liegen koennte.
Die Aufgabe lautete. Gebe eine Sternchen Pyramide in der commandline mit der Hoehe h=8 aus.
Hier mein Queltext.

Java:
class Sternchen

{
	public static void main (String [] arg)


    {
	int h = 8;
	int zw=0;
	int k=0;
	int i = 1;
	zw=h-1;

	while (k<=h)
	{
	   int j = 0;
	    while (j<=zw)
	    {
	      System.out.print (" ");
	
	       j=j+1;

	     }
		
	     while (i>0)
	     {
		System.out.print ("*");
              
	        i=i-1;
 	      }

	System.out.println ();
	     i=i+2; 
	     k=k+1;
	     zw=zw-1;
             
	       

	}

          
    }

}
 
Zuletzt bearbeitet:

Stap

Mitglied
jep, ohne Probleme. Nur die Ausgabe ist nicht ganz Richtig. Es sieht zwar schon nach Pyramide aus, aber es werden immer nur 2 Sternchen je Zeile ausgegebenausgegeben und ich weiss nicht was ich da falsch angegeben habe. Habs mit dem Tischtest ausprobiert und da funktionierts. Vielleicht habe ich irgendwo eine kleinigkeit uebersehen.

............*
..........**
........**
......**
....**
..**
**
 
Zuletzt bearbeitet:

srea

Bekanntes Mitglied
Wie ich das sehe liegt Fehler in der i>0 Schleife. Du lässt i jedesmal nach 0 runter laufen und machst dann immer wieder nur +2. Dann ist es klar, das du immer nur 2 Sterne bekommst, da i ja nie größer werden kann als 2.
Müsst ihr das denn mit while Schleifen machen? Finde hier for-Schleifen geeigneter.
Schau dir nochmal an, welche Werte i jeweils nach durchlaufen der while(i>0) Schleife annimmt und überleg, wie du da i erhöhen musst, das du mehr Sterne bekommst.
 

Stap

Mitglied
Wie ich das sehe liegt Fehler in der i>0 Schleife. Du lässt i jedesmal nach 0 runter laufen und machst dann immer wieder nur +2. Dann ist es klar, das du immer nur 2 Sterne bekommst, da i ja nie größer werden kann als 2.
Müsst ihr das denn mit while Schleifen machen? Finde hier for-Schleifen geeigneter.
Schau dir nochmal an, welche Werte i jeweils nach durchlaufen der while(i>0) Schleife annimmt und überleg, wie du da i erhöhen musst, das du mehr Sterne bekommst.

oh danke fuer den Hinweis, dass war mir so nicht klar. Ich werd das gleich mal ausprobieren wie ich dort das Problem loesen kann. Ja genau, es soll mit while schleifen gemacht werden. Die for Schleifen haben wir noch nicht behandelt. Hab grad erst mein Studium angefangen, bin noch echt unerfahren im Programmieren.
 

Stap

Mitglied
oh danke fuer den Hinweis, dass war mir so nicht klar. Ich werd das gleich mal ausprobieren wie ich dort das Problem loesen kann. Ja genau, es soll mit while schleifen gemacht werden. Die for Schleifen haben wir noch nicht behandelt. Hab grad erst mein Studium angefangen, bin noch echt unerfahren im Programmieren.

Wie geil!!!!!!! endlich ich habs hinbekommen :applaus: .....ohman war das eine schwierige geburt. vielen dank fuer den hinweis. das war echt nur ein kleiner fehler und den hab ich immer wieder uebersehen.
 
T

torpedokroete

Gast
Kannst du deinen ganzen richtigen quelltext mal posten? Ich bin auch studienanfänger und soll einen Diamanten aus sternchen machen, also eine gespiegelte pyramide quasi.
 

Landei

Top Contributor
Code klauen wird dich nicht weiterbringen, und dein Leerkörper wird mitbekommen, dass das nicht deins ist, wenn er nicht völlig evakuiert ist, aber bitteschön...

Java:
int size = 5;
for(int i = 1; i < 2*size ; i++) {
    for(int j = 1; j < 2*size; j++) {
        System.out.print(Math.abs(i - size) + Math.abs(j - size) >= size ? ' ' : '*');
    }
    System.out.println();
}
 

Ähnliche Java Themen

Neue Themen


Oben