Zitat:
Zitat von Greeven Das "throws Exception" hat gefehlt.
Ja, und sie sagt mir, dass readLine einen String erstellt, der aus einer Zeile gelesen wird.
Is doch richtig oder? |
Das ist noch richtig, ja.
Zitat:
Zitat von Greeven Also mehr bekommt man nicht raus. |
Nein, das ist nicht mehr richtig.
Zitat:
|
Zitat von http://java.sun.com/j2se/1.5.0/docs/api/java/io/BufferedReader.html#readLine() readLine
public String readLine()
throws IOException
Read a line of text. A line is considered to be terminated by any one of a line feed ('n'), a carriage return ('r'), or a carriage return followed immediately by a linefeed.
Returns:
A String containing the contents of the line, not including any line-termination characters, or null if the end of the stream has been reached
Throws:
IOException - If an I/O error occurs |
Wenn eine Methode mit "Throws: ExeptionXYZ" spezifiziert ist, heißt das, sie KÖNNTE eine Exception des angegebenen Typs werfen. Will man also diese Methode verwenden, so muss man den Methodenaufruf in einem try/catch Block notieren.
Wenn du also notierst:
PHP-Code:
BufferedReader istdn = new BufferedReader (new InputStreamReader (System.in));
String ineins = istdn.readLine();
Wird dir eine ordentliche IDE das bemängeln, z.B. mit folgendem Kommentar:
http://www.tweakpc.de/gallery/data/5...lipseError.JPG
Eclipse bietet dazu eine automatische Hilfe (QuickFix), wenn man mit der Maus über die Fehlermeldung am linken Rand geht:
http://www.tweakpc.de/gallery/data/5...edSolution.JPG
wen man nun auf "surrond with try/catch Block" klickt, wird folgender korrekter Code produziert:
(ich stell mal nur die main() dar)
PHP-Code:
public static void main(String[] args) {
BufferedReader istdn = new BufferedReader (new InputStreamReader (System.in));
System.out.println("Also hier muss ein name rein");
try {
String ineins = istdn.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Natürlich sollte man die Deklaration von "ineins" noch außerhalb des try machen, will man die Variable später weiter verwenden. z.B. so:
PHP-Code:
public static void main(String[] args) {
BufferedReader istdn = new BufferedReader (new InputStreamReader (System.in));
System.out.println("Also hier muss ein name rein");
String ineins = "";
try {
ineins = istdn.readLine();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Wie man genau mit Exceptions und der JavaDoc umgeht, solltest du dir hier erlesen können:
Lesson: Exceptions (The Java™ Tutorials > Essential Classes)
mfg
tele, "SUN certified Java Programmer"