Leer datos desde el teclado con Java

julio 12 20097 comentarios

Guardado en : Programación, Software Libre

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 :

Acerca del autor:

7 Respuestas a “Leer datos desde el teclado con Java”

  1. Anselmo dice:

    Existe otra solución más sencilla desde la publicación de JDK 1.5 (5.0):

    ——————

    import java.util.*;
     
    public class LecturadeDatos2 {
    	public static void main (String []args) {
    		Scanner teclado = new Scanner(System.in);
     
    		System.out.println("Leer cadena: ");
    		String s = teclado.nextLine();
    		System.out.println("Leer caracter: ");
    		char c = teclado.findWithinHorizon(".",0).charAt(0);
    		System.out.println("Leer entero: ");
    		int i = teclado.nextInt();
    		System.out.println("Leer token: ");
    		String t = teclado.next();
     
    		System.out.println("s="+s+", c="+c+", i="+i+", d="+d+", t="+t );
        }
    }
  2. Daniel dice:

    Muchas gracias, por el comentario y el código.
    Esperamos verte pronto, participando aquí en Ubicuos.com

  3. Seba dice:

    Hola que tal..
    como transformo un dato String en float??
    para transformarlo a un dato int seria esto cierto..
    String x=y.readLine();
    int num=Integer.parseInt(x);

    pero lo mismo pero para pasarlo a float??

    Gracias

  4. Daniel dice:

    Existe la clase Float y tiene un método análogo Float.parseFloat(x);
    Java dispone de varias clases que permiten hacer conversiones entre los tipos de datos primitivos.

  5. alexander dice:

    lectura de datos:

    de tipo numerico:

    int n;
    System.out.println(“ingrese numero”);
    n=Integer.parseInt(br.ReadLine());
    //lei un numero
    //lero una cadea
    String nombre;
    System.out.println(“ingrese nombre”);
    n=(br.ReadLine());

    mas informacion visita:

    http://www.programandoconjava.es.tl

  6. adal dice:

    me sirvio mucho, es espcial para leer caracteres. saludos..

  7. Kevin Arnold dice:

    Chévere ha…

    aquí les dejo una web donde se postea temas en java desde lo básico hasta lo avanzado…
    http://www.todoenjava.blogspot.com

Deja un comentario


Licencia y uso

Las técnicas demostradas en los tutoriales pueden ser utilizadas sin ninguna limitación y tampoco es obligatorio dar una atribución.


Los textos, imágenes y tutoriales son propiedad de sus respectivos autores, nuestro contenido se encuentra bajo licencia Creative Commons Share-Alike.

Escribe algo para el sitio

El escribir un tutorial o un artículo, mandarnos un enlace para Ubicuos, no solamente es una forma de obtener publicidad, si no también de dar algo a la comunidad y nosotros te lo recompensamos con los premios del mes! Leer más de nuestras promociones

¿Sugerencias?

Este es TU sitio, si tienes sugerencias o ideas de cómo podemos mejorarlo para ti, ¡Por favor háznoslos saber!

Hacemos nuestro mayor esfuerzo en proporcionar un sitio útil y amigable y esperamos que disfrutes tu tiempo aquí.

Ayuda a Difundir

Te gusta Ubicuos?

Ve las formas en que nos puedes apoyar.

Apoyando a Ubicuos.com

Submit your linkClose

-->