12
 7

Eine gute Antwort könnte sein:

Es ist ein Leerzeichen vor der "7", welches kein Teil einer Zahl ist.

Die trim() Methode

Führende und nachfolgende Leerzeichen können von einem String entfernt werden, indem die trim() Methode der Klasse String verwendet wird. Zum Beispiel,

"    143   ".trim()

ergibt

"143"

Dies ist nützlich für die Korrektur leicht fehlerhafter Input-Dateien. Hier ist das Beispielprogramm mit dieser Verbesserung:

import java.io.*;
class AddiereZwei
{
  public static void main ( String[] args ) throws IOException
  {
    int zahlA, zahlB;

    String zeile;
    BufferedReader stdin = new BufferedReader(
        new InputStreamReader( System.in ) );

    System.out.println("Geben Sie die erste Zahl ein:");
    zeile      = stdin.readLine();
    zahlA   = Integer.parseInt( zeile.trim() );

    System.out.println("Geben Sie die zweite Zahl ein:");
    zeile      = stdin.readLine();
    zahlB   = Integer.parseInt( zeile.trim() );

    System.out.println( "Summe: " + (zahlA + zahlB) );
  }
}

Das wird aber nicht alle Probleme lösen, Hier ist ein stark fehlerhafte Input-Datei:

12
sieben

FRAGE 10:

Was ist falsch an dieser Datei?