Por motivos académicos, tengo que aprender a programar en Java; así que, tras haber aprendido C/C++ y al ser Java un lenguaje mucho más orientado a objetos que C++, quería practicar un poquito haciendo la traducción de algunos programas que he escrito en C++ a Java. Para ello necesito leer datos de la entrada estándar; pero tras buscar referencias, tanto en la documentación de Java como en diferentes blogs y paginas, no he conseguido encontrar una manera más o menos sencilla de hacerlo.
De todas maneras, tras leer un poco más a fondo algunas referencias y la documentación, he conseguido hacerlo de una manera algo más sencilla, imitando el comportamiento del while(cin >> var) de C++:
C++ | Java |
#include <iostream> | import java.util.Scanner; |
Aquí tenéis la documentación del elemento Scanner.
Espero que este post os haya servido de ayuda.
Actualización 31/03/2010: Por desgracia, la solución supuestamente sencilla no sirve para leer char; para ello tenéis que hacer esto:
try { char c = (char) System.in.read(); }
catch (Exception e) {}
Si alguien conoce otra manera más sencilla y menos chapucera que lo que he escrito en este post, que lo comente.
Actualización 2: Si los char van a estar separados por espacios o saltos de línea, puedes hacer una de estas dos:
// scanf.next() devuelve un String
char c = scanf.next().charAt(0);
char c = scanf.next().toCharArray()[0]; // Ambas son equivalentes
Un saludo,
Morpheus
0 comentarios:
Publicar un comentario