zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Was würde passieren, wenn der erste Integer, den der Anwender eingibt, eine "0" ist?

Antwort:

Der Schleifenkörper würde kein einziges Mal ausgeführt werden. Das Programm würde ausgeben:

Sum of the integers: 0

Testlauf des Programms

Der Anwender muss eine Möglichkeit haben zu sagen, dass es keine Integer zu addieren gibt. Das mag in einem kleinen Programm wie diesem dumm erscheinen. Aber in größeren Programmen mit vielen Möglichkeiten und komplizierterer Datenverarbeitung ist es oft wichtig die Möglichkeit zu haben eine Schleife auszulassen. Manchmal setzt die "verdrehte Logik", die Anfänger verwenden, voraus, dass es immer zumindest eine Zahl zum addieren geben wird. Großer Fehler.

Die Daten, die eine Schleife verarbeitet, sind oft das Ergebnis eines vorherigen Teil des Programms. Dieser Teil des Programms könnte überhaupt keine Daten produziert haben. Zum Beispiel ein monatlicher Scheckreport einer Bank muss die Monate handhaben, in denen der Kunde keine Schecks ausgestellt hat.

Hier ist eine beispielhafte Ausführung dieses Programms. Ich habe das getan, indem ich das Programm in die Zwischenablage kopiert, in NotePad eingefügt, als Datei gespeichert, kompiliert und gestartet habe.


C:\users\default\JavaLessons\chap18>java AddUpNumbers

Enter first integer (enter 0 to quit):
12
Enter next integer (enter 0 to quit):
-3
Enter next integer (enter 0 to quit):
4
Enter next integer (enter 0 to quit):
0
Sum of the integers: 13

Hier ist der relevante Teil des Programms:

    // den ersten Wert holen
    System.out.println( "Enter first integer (enter 0 to quit):" );

    value      = scan.nextInt();

    while ( value != 0 )
    {
      //addiere value zu sum
      sum = sum + value;

      // den nächsten Wert vom Anwender holen
      System.out.println( "Enter next integer (enter 0 to quit):" );

      value      = scan.nextInt();

    }

    System.out.println( "Sum of the integers: " + sum );
  }
}

Der Wert "0" in diesem Programm ist der überwachte Wert. Wenn die Schleife beginnt, ist es nicht bekannt wie viele Male die Schleife ausgeführt werden wird. Selbst der Anwender könnte es nicht wissen; es könnte eine große, lange Liste von Zahlen zu addieren sein und der Anwender könnte nicht genau wissen wie viele es sind.

FRAGE 4:

Der Wert "0" in diesem Programm ist der überwachte Wert. Könnte irgendein anderer Wert verwendet werden?