Sterne in Keilform

jazzyyk

Neues Mitglied
Hallo!
Bin sowohl neu beim Java-Programmieren als auch im Forum. Ich möchte gerne ein Programm schreiben, das Sterne in Keilform ausgibt. Kennen die meisten wahrscheinlich schon: Benutzer gibt eine Zahl ein, z.B 7. Dann erfolgt folgende Ausgabe: 1. Zeile: 7 Sterne, 2. Zeile: 6 Sterne, 3. Zeile: 5 Sterne usw.

Mein bisheriger Quelltext sieht folgendermaßen aus:

Java:
import java.util.Scanner;

class KeilSterne
{
 public static void main(String[] args)
 {
  Scanner scan = new Scanner(System.in);
  int anzahlSterneZeile, zeile = 1, stern = 1, Anzahl;
  
  System.out.println("Anfangszahl der Sterne: ");
  anzahlSterneZeile = scan.nextInt();
  
  Anzahl = anzahlSterneZeile;
  
  while ( zeile <= anzahlSterneZeile )
	{while ( stern <= Anzahl )
		{System.out.print("*");
		 stern = stern + 1;
		}
	System.out.println();
	zeile = zeile + 1;
	Anzahl = Anzahl-1;
	}	
  }
 }

Meine Ausgabe ist aber: 1.Zeile: 7 Sterne, alle weiteren Zeilen leer. Ich sehe leider den Fehler nicht.
Ich weiß, dass die Aufgabe schöner mit einer verschachtelten for-Schleife zu lösen ist. Die Aufgabenstellung erfordert jedoch explizit eine verschachtelte while-Schleife.
Schön, falls jemand helfen kann.

Danke
jazzyyk
 

jazzyyk

Neues Mitglied
Danke! Wie konnte ich das übersehen...
Richtig ist es also so:

Java:
import java.util.Scanner;

class KeilSterne
{
 public static void main(String[] args)
 {
  Scanner scan = new Scanner(System.in);
  int anzahlSterneZeile, zeile = 1, stern = 1, Anzahl;
  
  System.out.println("Anfangszahl der Sterne: ");
  anzahlSterneZeile = scan.nextInt();
  
  Anzahl = anzahlSterneZeile;
  
  while ( zeile <= anzahlSterneZeile )
	{stern = 1;:toll:
	while ( stern <= Anzahl )
		{System.out.print("*");
		 stern = stern + 1;
		}
	System.out.println();
	zeile = zeile + 1;
	Anzahl = Anzahl-1;
	}	
  }
 }

Kann jetzt endlich weitermachen.:)
 

Ähnliche Java Themen

Neue Themen


Oben