Para facilitar la lectura de teclado se puede conseguir que se lea una línea entera con una sola orden
si se utiliza un objeto BnfferedReader. El método String readLineQ perteneciente a BufferReader
lee todos los caracteres hasta encontrar un V o V y los devuelve como un String (sin incluir V ni
V). Este método también puede lanzar java.io.IOException.
System.in es un objeto de la clase InputStream. BnfferedReader pide un Reader en el
constructor. El puente de unión necesario lo dará InputStreamReader. que acepta un InputStream
como argumento del constructor y es una clase derivada de Reader. Por lo tanto si se desea leer una
línea completa desde la entrada estándar habrá que utilizar el siguiente código:
InputStreamReader isr = new
InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
// o en una linea:
// BufferedReader br2 = new BufferedReader(new
InputStreamReader(System.in));
String frase =
br2.readLine(); // Se lee la linea con una llamada
Así ya se ha leído una línea del teclado. El thread que ejecute este código estará parado en esta
línea hasta que el usuario termine la línea (pulse return). Es más sencillo y práctico que la
posibilidad anterior.
¿Y qué hacer con una línea entera?
La clase java.útil.StringTokenizer da la posibilidad de
separar una cadena de caracteres en las "palabras" (tokens) que la forman (por defecto, conjuntos de
caracteres separados por un espacio, V. V, o por V). Cuando sea preciso se pueden convertir
"palabras" en números
No hay comentarios:
Publicar un comentario