Eine gute Antwort wäre:

Das vervollständigte Programm steht unten.

Vollständiges Addition-Programm

Hier ist das vervollständigte Programm. Beachten Sie 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.io.*;

// 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 ) throws IOException
  {
    BufferedReader userIn = new BufferedReader
        (new InputStreamReader(System.in));
    String inputData;
    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):" );
    inputData  = userIn.readLine();
    value      = Integer.parseInt( inputData );  // "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):" );
      inputData  = userIn.readLine();
      value      = Integer.parseInt( inputData ); // "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 Sie versuchen mit einem Satz Input-Anweisungen auszukommen, werden Sie die Logik des Programms gefährlich verbiegen.    

FRAGE 3:

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

Inhaltsverzeichnis