Java - Por qué esto me da error???

 
Vista:

Por qué esto me da error???

Publicado por Minor Arias (11 intervenciones) el 31/10/2003 04:46:36
Hice esta clase pero al compilarlo me da un error particularmente en la parte (tecla.readln) puede alguien decirme por que me da este error?
Muchas gracias de antemano!

import java.io.*;

class Teclado{
private BufferedReader tecla;
Teclado(){
InputStreamReader o = new InputStreamReader(System.in);
tecla = new BufferedReader(o);
}

public String Leer (){
try
{
String valor = tecla.readln();
return valor;
}

catch (Exception error)
{
error.printStackTrace();
}
}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Por qué esto me da error???

Publicado por chuidiang (532 intervenciones) el 31/10/2003 09:39:48
La funcion es tecla.readLine()
Se bueno
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Por qué esto me da error???

Publicado por Minor Arias Solis (11 intervenciones) el 03/11/2003 06:21:36
Gracias por la correccion; aun asi, sigo teniendo un error al compilar e igualmente no encuentro como resolverlo. Resulta que ahora me dice "missing return statement" y me señala la línea que dice: "Public String Leer() {; especificamente donde se abre el bracket.
No encuentro de que manera hacer para que reciba el return???
Adjunto esta el codigo; de verdad aprecio mucho su ayuda! Saludos.
import java.io.*;

class Teclado{
private BufferedReader tecla;
Teclado(){
InputStreamReader o = new InputStreamReader(System.in);
tecla = new BufferedReader(o);
}

public String Leer (){
try
{
String valor = tecla.readLine();
return valor;
}

catch (Exception error)
{
error.printStackTrace();
}
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Por qué esto me da error???

Publicado por chuidiang (532 intervenciones) el 03/11/2003 09:25:16
Cuando una funcion devuelve algo, debes asegurarte de que haces return para todas las opciones posibles dentro del código de la función.
En tu caso, si todo va bien, haces return valor, pero si salta la excepción, la escribes en pantalla y no haces ningún tipo de return. Por eso te da que "ha perdido una sentencia return".

Pon un return null; o lo que quieras justo antes de terminar la función.

Se bueno.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar