Pedir datos por teclado

La pregunta es bien sencilla, por lo que intuyo que la respuesta pueda serlo igual: intento pedir datos por teclado, tales como números enteros, long, float, para después procesarlos y visualizarlos ( System. Out. Println(x) ). En ningún libro, tutorial o manuales de internet que tengo, viene expresado este caso de forma concreta, sino referencias y explicaciones sobre E/S de datos a ficheros, con DataOutputStream.

1 respuesta

Respuesta
1
Lo que pasa es que en Java no hay algo para leer directamente desde el teclado, y se trata como si fuera archivo...
Yo soy profesor de Java, y pedagógicamente usamos una clase de la U de Toronto: Console.class y ConsoleCanvas.class, que hacen una ventana (tipo applet) para la Entrada y Salida estándar.
Es bien bonito, pero no es recomendable, ya que pierdes el Java Estándar...
Para leer datos se usa:
BufferedReader bf = new BufferedReader (new InputStreamReader(System.in));
String linea = bf.readLine();
y linea lo transformas a lo que quieres:
int n = Integer.parseInt(linea);
double n = new Double(linea).doubleValue();
Etc...
Si quieres referencia de algo, visita mi página del curso en http://www.dcc.uchile.cl/~cc10a03 ... en Cátedras empiezo con Console y la última guía (Guía para el Control 2) pone algo con entrada y salida estándar... Tal vez te quede más claro... :-)
También soy profesor (de academia) de Metodología de la Programación, y estoy muy interesado en ese método pedagógico que mencionas en tu respuesta: la clase de la U de Toronto. ¿Dónde se puede conseguir? ¿Están disponibles los fuentes (Console.java y ConsoleCanvas.java) de la clase? ¿En qué consiste? ¿Qué funcionamiento pedagógico tiene?
Por otra parte, veo que existe una instrucción distinta para cada tipo de conversión, en tu rápida respuesta mencionas dos tipos: int y double. Me temo que perderé otra vez en la conversión de String a distintos tipos numéricos... ¿podrías mencionarme las instrucciones para los tipos long y float?
Pues ciertamente brillante y sorprendente! Más que nada la rapidez, ya que lo esperaba para mañana. Estaba bien encaminado, aunque llegué a usar el parseInt, no debí de usarlo bien, puesto que no me salió.
Muy agradecido por tu respuesta, de veras, ya estaba volviéndome loco :-p
Muchas gracias, de verdad, para quitarse el sombrero :-).
Por cierto, la página que me mencionas, también, es excelente.
Gracias por todo. Saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas