Pregunta:
¿Ayuda con una clase para leer datos en Java?
2010-12-19 15:38:29 UTC
Buenas! estoy averiguando como crear una clase que pueda utilizarla en otras para leer datos de teclado por consola. les muestro un ejemplo de algo mas o menos que hizo, es inventado pero pues lo único que se me ocurre:

import java.io.*;

public class LeerDatos{

static BufferedReader Leer =
new BufferedReader(new InputStreamReader(System.in));

}

Bueno con esto puedo leer una cadena de caracteres así:

Cadena = LeerDatos.Leer.readLine();

pero a la hora que quiera leer números no se como hacer, lo único que vi es utilizar:

int entero = Integer.parseInt(cadena);

Pero quiero hacerme la vida mas fácil y poder tener clases que pueda utilizar asi:
LeerDatos.LeerEntero (para los int)
LeerDatos.LeerDec (para los double)
LeerDatos.LeerCadena (string)

Pues espero haberme hecho entender.. muchisismas gracias y si tienen alguna duda con la pregunta o algo pues la edito o les doy mi correo de antemano grax..!
Tres respuestas:
Ricardo
2010-12-19 16:23:54 UTC
import java.io.InputStreamReader;

import java.io.BufferedReader;

import java.io.IOException;



public class Main {



public static String leerDatos(){



InputStreamReader leer=new InputStreamReader(System.in);

BufferedReader cambio=new BufferedReader(leer);

String lee="";



try{

lee=cambio.readLine();

}

catch(IOException e){



e.printStackTrace();

}



return lee;

}

public static void main(String[] args) {



System.out.println("Escribe un texto debajo \n");

System.out.println( leerDatos());

}



}





para scanner es por paquete de java util tiene que crear un objeto de la clase



import java.util.Scanner;





la diferencia que tienen es que la clase BufferedRead es que solo te acepta texto en cadena posterior mente tienes que combertir eso si lo deseas con las clases envoltorios como Integer.parseInt

todo eso.



con el scanner incorpora los métodos que ya lo hacen.



Scanner sca=new Scanner(System,in);



sca.next(); // lee datos String



sca.nextInt() //datos Enteros



sca.nexDouble(); decimales
?
2010-12-20 00:04:31 UTC
Uhmm el BufferedReader solo acepta cadenas y obligatoriamente tendrás que hacer un casting si quieres transformar esos datos a int, double etc.. pero vamos, no es tan dificil

para datos int:

nombre de la variable=Integer.parseInt(br.readLine());

para datos tipo double:

nombre de la variable= Double.parseDouble(br.readLine());

para los tipo char:

nombre de la variable=(char)nombre del objeto.read();

y pues para los tipo string:

nombre de la variable=nombre del objeto.readLine();
DeVoN
2010-12-19 23:45:47 UTC
pues lo q yo uso mas

import javax.util.*;



public class prueba{

String nom;

Int num;

Scanner teclado = new Scanner(System.in) //aqui creas un tipo de scanner llamado teclado



System.out.println("ingrese nombre");

nom=teclado.nextLine; //si guardas string es nextLine

System.out.println("ingrese numero");

num=teclado.nextInt; //si guardas int ,nextDouble(si guardas de tipo doble)



}



espero haberte ayudado al menos una idea ya te di. Suerte


Este contenido se publicó originalmente en Y! Answers, un sitio web de preguntas y respuestas que se cerró en 2021.
Loading...