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