zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Die folgende Schleife wird anzahlSterne Sterne in einer Zeile ausgeben.

stern = 1;
while ( stern <= anzahlSterne  )
{
  System.out.print("*");
  stern = stern + 1;
}

Die zwei Teile zusammensetzen

So.... jetzt haben wir zwei Teile: (1) den Teil, der gewährleistet, dass die erforderliche Anzahl Zeilen "passiert" und, (2) den Teil, der die erforderliche Anzahl von Sternen pro Zeile ausgibt. Hier ist ein vollständiges Programm mit den zwei zusammengesetzten Teilen:

import java.util.Scanner;

class Sternchen
{
  public static void main (String[] args )
  {
    int anzahlZeilen;    // die Anzahl der Zeilen
    int anzahlSterne;    // die Anzahl der Sterne pro Zeile
    int zeile;           // aktuelle Zeilennummer
    int stern;           // die Anzahl der Sterne in dieser Zeile soweit

    Scanner scan = new Scanner( System.in );

    // Input vom Anwender sammeln
    System.out.println( "Wie viele Zeilen?" );
    anzahlZeilen = scan.nextInt();

    System.out.println( "Wie viele Sterne pro Zeile?" );
    anzahlSterne = scan.nextInt();

    zeile  =  1;
    while ( zeile <= anzahlZeilen )
    {
      stern = 1;
      while ( stern <= anzahlSterne )
      {
        System.out.print("*");
        stern = stern + 1;
      }

      System.out.println();         // notwendig, um jede Zeile zu beenden
      zeile = zeile + 1;
    }
  }
}

Der Teil, der für die Ausgabe der richtigen Anzahl von Sternen pro Zeile zuständig ist, ist in blau. Beachtet, dass eine while-Schleife im Körper der anderen Schleife ist. Das ist ein Beispiel für eine geschachtelte Schleife. Die Schleife, die im Körper einer anderen ist, wird innere Schleife genannt. Die andere wird äußere Schleife genannt.

FRAGE 20:

Was würde das Programm tun, wenn der Anwender nach einer negativen Anzahl von Sternen pro Zeile fragt?