Einzelnen Beitrag anzeigen
Alt 05.08.2007, 13:11   #5 (permalink)
tele
Polsterwaffenkampfsportle r
 
Benutzerbild von tele
 

Registriert seit: 29.10.2003
Beiträge: 14.561

tele hat eine strahlende Zukunft
tele hat eine strahlende Zukunfttele hat eine strahlende Zukunfttele hat eine strahlende Zukunfttele hat eine strahlende Zukunfttele hat eine strahlende Zukunft

Standard AW: Was ist an der Zeile falsch?

Zitat:
Zitat von Greeven Beitrag anzeigen
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 Beitrag anzeigen
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"
tele ist offline   Mit Zitat antworten