12
 7

Eine gute Antwort wäre:

Es ist ein Leerzeichen vor der "7", das kein zulässiges Zeichen für eine 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"

Das 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 natürlich nicht alle Probleme lösen. Hier ist eine stark fehlerhafte Input-Datei:

12
sieben

FRAGE 10:

Was ist falsch an dieser Datei?

Inhaltsverzeichnis