Fragmento de una conferencia con un mentor como parte del curso de Codegym University. Inscríbete al curso completo.
"Amigo, ha llegado tu momento. Ahora te voy a hablar sobre la entrada del teclado".
"Hemos usado System.out para mostrar datos en la pantalla. Para recibir información, usaremos System.in ".
"Suena fácil."
"Pero System.in tiene una deficiencia: solo nos permite leer códigos de caracteres desde el teclado. Para solucionar este problema y leer grandes cantidades de datos de una sola vez, usaremos una construcción más compleja:"
Ingrese una cadena y un número desde el teclado
InputStream inputStream = System.in;
Reader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String name = bufferedReader.readLine(); //Read a string from the keyboard
String sAge = bufferedReader.readLine(); //Read a string from the keyboard
int nAge = Integer.parseInt(sAge); //Convert the string to a number.
Una versión más compacta del ejemplo anterior:
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String name = reader.readLine();
String sAge = reader.readLine();
int nAge = Integer.parseInt(sAge);
Aún más compacto
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
int age = scanner.nextInt();
"¿Alguna pregunta?"
"Uh... no entendí nada."
"Para leer una cadena desde el teclado, es más conveniente usar un objeto BufferedReader . Pero para hacer eso, debe pasar el objeto del que va a leer los datos. En este caso, System.in ".
"Pero System.in y BufferedReader son incompatibles, por lo que usamos otro adaptador: otro objeto InputStreamReader ".
"Creo que ahora lo entiendo. ¿Qué es esta clase de escáner ?"
"Scanner puede ser conveniente, pero no es muy útil. La cuestión es que, a medida que avanza (tanto en el estudio como en el trabajo), usará BufferedReader e InputStreamReader a menudo , pero Scanner, muy raramente. Es conveniente en nuestro ejemplo, pero en en el futuro no será útil muy a menudo. Así que no lo usaremos mucho ".
"Eso parece claro, pero no estoy seguro de haber entendido todo".
GO TO FULL VERSION