Leer datos desde el teclado con Java
Leer datos con Java
Read from Console Standard Input with Java
Si alguna vez, necesitaste leer datos desde el teclado de tu computadora usando Java, este es el código necesario.
Dado que Java, no implementa una clase que funcione de forma similar al “scanf” de C, necesitamos crear nuestra propia rutina de lectura de datos.
Para esto son muy útiles la clases del paquete ‘java.io’, que nos permiten trabajar con flujos de información, y dado que la lectura de datos de sistema es un flujo (revisar System.in).
Esta clase Input, que he creado permite leer Strings, char, double e int, utilizala como necesites y si tienes dudas, puedes escribirlas en los foros.
package lecturadatos; import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; class Input { public String readString(){ String s = null; try{ BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); s = in.readLine(); }catch(IOException e){ System.out.println("Error al leer"); e.printStackTrace(); } return s; } public double readDouble(){ String s = null; try{ BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); s = in.readLine(); }catch(IOException e){ System.out.println("Error al leer"); e.printStackTrace(); } return Double.parseDouble(s); } public int readInt(){ String s = null; try{ BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); s = in.readLine(); }catch(IOException e){ System.out.println("Error al leer"); e.printStackTrace(); } return Integer.parseInt(s); } public char readsChar(){ char c = ' '; try { java.io.BufferedInputStream b = new BufferedInputStream(System.in); c = (char) b.read(); } catch (IOException e) { System.out.println("Error al leer"); e.printStackTrace(); } return c; } } public class LecturadeDatos { public static void main (String []args) { lecturadatos.Input input = new lecturadatos.Input(); System.out.println("Leer cadena: "); String s = input.readString(); System.out.println("Leer caracter: "); char c= input.readsChar(); System.out.println("Leer entero: "); int i=input.readInt(); System.out.println("Leer double: "); double d=input.readDouble(); System.out.println("s="+s+", c="+c+",i="+i+",d="+d ); } }
Quizá te interese :
Programa para realizar suma de polinomios con listas enlazadas. package com.ubicuos.main; im ...
Draw an asterisk tree with Java Uno de los ejemplos clásicos de uso de ciclos en los lenguajes ...
PDF´s (Portable Document Format) es un formato de documentos que se utiliza de manera generaliza ...






Existe otra solución más sencilla desde la publicación de JDK 1.5 (5.0):
——————
Muchas gracias, por el comentario y el código.
?Esperamos verte pronto, participando aquí en Ubicuos.com