zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

Das vervollständigte Programm steht unten.

Vollständiges Addition-Programm

Hier ist das vervollständigte Programm. Beachtet wie die Schleifenbedingung immer einen "frischen" Wert zum überprüfen hat. Damit das geschieht muss der erste Wert eingegeben werden bevor die Schleife beginnt. Die restlichen Werte werden am Ende des Schleifenkörper eingegeben.

import java.util.Scanner;

// Alle Integer addieren, die der Anwender eingibt.
// Nach dem letzten Integer der addiert wird, gibt der Anwender eine 0 ein.
//
class AddUpNumbers
{
  public static void main (String[] args )
  {
    Scanner scan = new Scanner( System.in );

    int value;             // Daten ,die der Anwender eingibt
    int sum = 0;           // Summe initialisieren

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

    value      = scan.nextInt();  // "frischer" Wert
                                                 // zum testen

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

      // den nächsten Wert vom Anwender holen
      System.out.println( "Enter next integer (enter 0 to quit):" );
      value      = scan.nextInt(); // "frischer" Wert zum testen

    }

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

Die Anweisungen, die den ersten Wert holen und die Anweisungen, die die restlichen Werte holen sind fast die gleichen. Das ist OK.

Wenn wir versuchen mit einem Satz Input-Anweisungen auszukommen, werden wir die Logik des Programms gefährlich verbiegen.    

FRAGE 3:

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