Para leer desde teclado se puede utilizar el método System.in.read() de la clase InputStream. Este
método lee un carácter por cada llamada. Su valor de retomo es un int. Si se espera cualquier otro
tipo hay que hacer una conversión explícita mediante un cast.
char c;
c=(char)System.in.read();
Este método puede
lanzar la excepción java.io.IOException y siempre habrá que ocuparse de ella, por ejemplo en la forma:
try {
c=(char)System.in.read();
}
catch(java.io.IOException ioex) {
// qué hacer cuando ocurra la excepción
}
Para leer datos más largos que un simple carácter es necesario emplear un bucle wltile o for y
unir los caracteres. Por ejemplo, para leer una línea completa se podría utilizar un bucle wltile
guardando los caracteres leídos en un String o en un StringBuffer (más rápido que String):
char c;
String frase = new
String(""); // StringBuffer
frase=new StringBuffer("");
try {
while((c=System.in.read())
!= '\n')
frase = frase + c; // frase.append(c);
}
catch(java.io.IOException ioex) {}
Una vez que se lee
una línea, ésta puede contener números de coma flotante, etc. Sin embargo, hay una manera más fácil de conseguir lo mismo: utilizar adecuadamente la
librería java.io.
No hay comentarios:
Publicar un comentario