En este articulo te mostrare como puedes recibir datos de tipo String, int, Float, Double, Short y Long desde el modo texto. Para no hacer tediosa esta parte de la programación compartiré el código de una clase que es muy útil para esta tarea, ya que solo tendremos que invocar la clase con el método apropiado para dicho fin 😉
En alguna cátedra de algoritmia la Clase Leer en Java fue compartida por el Ing. Saul Aponte, el cual fue mi profesor en mi segundo semestre, espero usen y compartan esta clase así como lo he hecho, siempre y cuando aclaren la procedencia de dicha clase. Si deseas algo mas elegante, te recomiendo ver como usar los cuadros de dialogo en java.
Para aquellos que no sepan como crear la clase deben de seguir los siguientes pasos:
- En el editor que este usando tienen que crear una nueva clase, si trabajan en el netbeans solo tienen que crear una clase .java y copiar el codigo de mas abajo, si trabajan en jcreator copian el codigo de la clase Leer.java y lo guardan obviamente con el nombre Leer.
- En caso que trabajen en el jcreator, deben de copiar la clase Leer.java en la carpeta donde se encuentre la clase principal para que funcione correctamente.
IMPORTANTE: Al momento de crear la nueva clase tiene que llevar el nombre Leer, a continuación puedes ver el código de la clase.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | /** * * @author saul aponte */ import java.io.*; public class Leer { public static String dato(){ String sdato = ""; try { InputStreamReader isr = new InputStreamReader(System.in); BufferedReader flujoE = new BufferedReader(isr); sdato = flujoE.readLine(); } catch (IOException e){ System.err.println("Error: " + e.getMessage()); } return sdato; } public static short datoShort(){ try { return Short.parseShort(dato()); } catch (NumberFormatException e){ return Short.MIN_VALUE; } } public static int datoInt(){ try { return Integer.parseInt(dato()); } catch (NumberFormatException e){ return Integer.MIN_VALUE; } } public static long datoLong(){ try { return Long.parseLong(dato()); } catch (NumberFormatException e){ return Long.MIN_VALUE; } } public static float datoFloat(){ try { Float f = new Float(dato()); return f.floatValue(); } catch (NumberFormatException e){ return Float.NaN; } } public static double datoDouble(){ try { Double d = new Double(dato()); return d.doubleValue(); } catch (NumberFormatException e){ return Double.NaN; } } } |
/** * * @author saul aponte */ import java.io.*; public class Leer { public static String dato(){ String sdato = ""; try { InputStreamReader isr = new InputStreamReader(System.in); BufferedReader flujoE = new BufferedReader(isr); sdato = flujoE.readLine(); } catch (IOException e){ System.err.println("Error: " + e.getMessage()); } return sdato; } public static short datoShort(){ try { return Short.parseShort(dato()); } catch (NumberFormatException e){ return Short.MIN_VALUE; } } public static int datoInt(){ try { return Integer.parseInt(dato()); } catch (NumberFormatException e){ return Integer.MIN_VALUE; } } public static long datoLong(){ try { return Long.parseLong(dato()); } catch (NumberFormatException e){ return Long.MIN_VALUE; } } public static float datoFloat(){ try { Float f = new Float(dato()); return f.floatValue(); } catch (NumberFormatException e){ return Float.NaN; } } public static double datoDouble(){ try { Double d = new Double(dato()); return d.doubleValue(); } catch (NumberFormatException e){ return Double.NaN; } } }
Ejemplo Clase Leer
Los métodos de la clase que puedes usar son:
- dato
- datoShort
- datoInt
- datoLong
- datoFloat
- datoDouble
Para el ejemplo solo usaré el método para el ingreso de números enteros, es decir, el método datoInt.
1 2 3 4 5 6 7 8 9 10 | public class Claseleer { public static void main(String[] args) { int numero; System.out.print("Ingresa el entero: "); numero = Leer.datoInt(); //usando el metodo de la clase leer System.out.println("El numero que has ingresado es: "+numero); } } |
public class Claseleer { public static void main(String[] args) { int numero; System.out.print("Ingresa el entero: "); numero = Leer.datoInt(); //usando el metodo de la clase leer System.out.println("El numero que has ingresado es: "+numero); } }
Como puedes ver, el uso del método es bastante fácil, espero que te sea de gran utilidad. Si tienes alguna duda, anímate y deja un comentario.
Me parece excelentes sus publicaciones y tambien lo de aclarar los autores del codigo, pero debo comentarle que la clase Leer es exactamente igual a la que se encuentra en el Libro Java2 autor:Javier Ceballos.
Hola Miki, en algo tienes razón. La clase no fue desarrollada por el autor que comento en la pagina, cambiare aquel trozo de información 🙂 Te agradezco por tu importante dato, ya que en lo posible trato de dar créditos merecidos. Gracias y éxitos !