Pedir datos por teclado

Respuesta de
a
Usuario
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.

Muchas gracias por anticipado.
Experto
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... :-)

Saludos.
Usuario
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?
Usuario
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