12 7
Es ist ein Leerzeichen vor der "7", welches kein Teil einer Zahl ist.
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